module Base
{

/* <<<<<  Cans and Jars  >>>>> */

    craftRecipe VFX_OpenInsectCan
    {
        timedAction = VFX.OpenCanInsect,
        time = 20,
        tags = InHandCraft;CanBeDoneInDark,
        category = Cooking,

        inputs
        {
            item 1 [VFX.CannedWorms;VFX.CannedSnails;VFX.CannedCrickets] mappers[VFXInsectCanType] flags[Prop2],
        }

        outputs
        {
            item 6 mapper:VFXInsectCanType,
            item 1 VFX.SmallTinCanEmpty,
        }

        itemMapper VFXInsectCanType
        {
            Base.Worm = VFX.CannedWorms,
            Base.Snail = VFX.CannedSnails,
            Base.Cricket = VFX.CannedCrickets,
        }
    }

    craftRecipe VFX_OpenBoxOfSmallCannedFood
    {
        timedAction = UnPackBox_Small,
        time = 100,
        tags = InHandCraft;Cooking;CanBeDoneInDark,
        category = Packing,

        inputs
        {
            item 1 [VFX.CannedHam_Box;VFX.CannedSalmon_Box;VFX.CannedAnchovies_Box;VFX.CannedCatFood_Box;VFX.CannedChicken_Box] mappers[VFXSmallCanType] flags[AllowFavorite;InheritFavorite],
        }

        outputs
        {
            item 6 mapper:VFXSmallCanType,
        }

        itemMapper VFXSmallCanType
        {
            VFX.CannedHam = VFX.CannedHam_Box,
            VFX.CannedSalmon = VFX.CannedSalmon_Box,
            VFX.CannedAnchovies = VFX.CannedAnchovies_Box,
            VFX.CannedCatFood = VFX.CannedCatFood_Box,
            VFX.CannedChicken = VFX.CannedChicken_Box,
        }
    }

    craftRecipe VFX_PackBoxOfSmallCannedFood
    {
        timedAction = PackingBox_Small,
        time = 100,
        tags = InHandCraft;Cooking;CanBeDoneInDark,
        category = Packing,

        inputs
        {
            item 6 [VFX.CannedHam;VFX.CannedSalmon;VFX.CannedAnchovies;VFX.CannedCatFood;VFX.CannedChicken] mappers[VFXSmallCanType] flags[AllowFavorite;InheritFavorite;IsExclusive],
        }

        outputs
        {
            item 1 mapper:VFXSmallCanType,
        }

        itemMapper VFXSmallCanType
        {
            VFX.CannedHam_Box = VFX.CannedHam,
            VFX.CannedSalmon_Box = VFX.CannedSalmon,
            VFX.CannedAnchovies_Box = VFX.CannedAnchovies,
            VFX.CannedCatFood_Box = VFX.CannedCatFood,
            VFX.CannedChicken_Box = VFX.CannedChicken,
        }
    }

    craftRecipe VFX_OpenJar
    {
        timedAction = VFX.JarOpening,
        time = 15,
        tags = InHandCraft;Cooking;CanBeDoneInDark,
        category = Cooking,

        inputs
        {
            item 1 [VFX.JarBlackOlives;VFX.JarGreenOlives;VFX.JarSundriedTomatoes;VFX.JarPickledPeppers;VFX.JarPickledEggs] mappers[VFXJars] flags[Prop2],
        }

        outputs
        {
            item 1 mapper:VFXJars,
            item 1 Base.JarLid,
        }

        itemMapper VFXJars
        {
            VFX.JarBlackOlivesOpen = VFX.JarBlackOlives,
            VFX.JarGreenOlivesOpen = VFX.JarGreenOlives,
            VFX.JarSundriedTomatoesOpen = VFX.JarSundriedTomatoes,
            VFX.JarPickledPeppersOpen = VFX.JarPickledPeppers,
            VFX.JarPickledEggsOpen = VFX.JarPickledEggs,
        }
    }

    craftRecipe VFX_OpenJarofPickles
    {
        timedAction = VFX.JarOpening,
        time = 15,
        tags = InHandCraft;Cooking;CanBeDoneInDark,
        category = Cooking,

        inputs
        {
            item 1 [VFX.JarPickles] flags[InheritFoodAge;Prop2],
        }

        outputs
        {
            item 1 VFX.JarPickleJuiceOpen,
            item 5 Base.Pickles,
        }
    }

/* <<<<<  Pantry  >>>>> */

    /**** Soup ****/

        craftRecipe VFX_OpenBoxSoupSachet
        {
            timedAction = VFX.SmallBagUnpacking,
            time = 30,
            tags = InHandCraft;CanBeDoneInDark,
            category = Cooking,

            inputs
            {
                item 1 [VFX.BoxPumpkinSoupSachets;VFX.BoxPeaAndHamSoupSachets;VFX.BoxChickenNoodleSoupSachets;VFX.BoxTomatoSoupSachets] mappers[BoxSoupSachet] flags[Prop2],
            }

            outputs
            {
                item 4 mapper:BoxSoupSachet,
            }

            itemMapper BoxSoupSachet
            {
                VFX.PumpkinSoupSachet = VFX.BoxPumpkinSoupSachets,
                VFX.PeaAndHamSoupSachet = VFX.BoxPeaAndHamSoupSachets,
                VFX.ChickenNoodleSoupSachet = VFX.BoxChickenNoodleSoupSachets,
                VFX.TomatoSoupSachet = VFX.BoxTomatoSoupSachets,
            }
        }

        craftRecipe VFX_PrepareSoup_Pumpkin
        {
            timedAction = VFX.SoupPreparing,
            time = 40,
            tags = InHandCraft;CanBeDoneInDark,
            category = Cooking,

            inputs
            {
                item 1 [Base.Bowl;Base.Mugl;Base.MugWhite;Base.MugSpiffo;Base.ClayMug] mappers[MugBowl] mode:destroy flags[ItemCount;InheritCondition],
                -fluid 0.3 categories[Water] mode:mixture,
                item 1 [VFX.PumpkinSoupSachet] mode:destroy flags[ItemCount;Prop1],
                item 1 tags[base:mixingutensil] mode:keep flags[MayDegradeVeryLight],
            }

            outputs
            {
                item 1 mapper:MugBowl,
            }

            itemMapper MugBowl
            {
                VFX.BowlPumpkinSoup = Base.Bowl,
                VFX.MugPumpkinSoup = Base.Mugl,
                VFX.MugPumpkinSoup_White = Base.MugWhite,
                VFX.MugPumpkinSoup_Spiffo = Base.MugSpiffo,
                VFX.MugPumpkinSoup_Clay = Base.ClayMug,
            }
        }

        craftRecipe VFX_PrepareSoup_PeaAndHam
        {
            timedAction = VFX.SoupPreparing,
            time = 40,
            tags = InHandCraft;CanBeDoneInDark,
            category = Cooking,

            inputs
            {
                item 1 [Base.Bowl;Base.Mugl;Base.MugWhite;Base.MugSpiffo;Base.ClayMug] mappers[MugBowl] mode:destroy flags[ItemCount;InheritCondition],
                -fluid 0.3 categories[Water] mode:mixture,
                item 1 [VFX.PeaAndHamSoupSachet] mode:destroy flags[ItemCount;Prop1],
                item 1 tags[base:mixingutensil] mode:keep flags[MayDegradeVeryLight],
            }

            outputs
            {
                item 1 mapper:MugBowl,
            }

            itemMapper MugBowl
            {
                VFX.BowlPeaAndHamSoup = Base.Bowl,
                VFX.MugPeaAndHamSoup = Base.Mugl,
                VFX.MugPeaAndHamSoup_White = Base.MugWhite,
                VFX.MugPeaAndHamSoup_Spiffo = Base.MugSpiffo,
                VFX.MugPeaAndHamSoup_Clay = Base.ClayMug,
            }
        }

        craftRecipe VFX_PrepareSoup_ChickenNoodle
        {
            timedAction = VFX.SoupPreparing,
            time = 40,
            tags = InHandCraft;CanBeDoneInDark,
            category = Cooking,

            inputs
            {
                item 1 [Base.Bowl;Base.Mugl;Base.MugWhite;Base.MugSpiffo;Base.ClayMug] mappers[MugBowl] mode:destroy flags[ItemCount;InheritCondition],
                -fluid 0.3 categories[Water] mode:mixture,
                item 1 [VFX.ChickenNoodleSoupSachet] mode:destroy flags[ItemCount;Prop1],
                item 1 tags[base:mixingutensil] mode:keep flags[MayDegradeVeryLight],
            }

            outputs
            {
                item 1 mapper:MugBowl,
            }

            itemMapper MugBowl
            {
                VFX.BowlChickenNoodleSoup = Base.Bowl,
                VFX.MugChickenNoodleSoup = Base.Mugl,
                VFX.MugChickenNoodleSoup_White = Base.MugWhite,
                VFX.MugChickenNoodleSoup_Spiffo = Base.MugSpiffo,
                VFX.MugChickenNoodleSoup_Clay = Base.ClayMug,
            }
        }

        craftRecipe VFX_PrepareSoup_Tomato
        {
            timedAction = VFX.SoupPreparing,
            time = 40,
            tags = InHandCraft;CanBeDoneInDark,
            category = Cooking,

            inputs
            {
                item 1 [Base.Bowl;Base.Mugl;Base.MugWhite;Base.MugSpiffo;Base.ClayMug] mappers[MugBowl] mode:destroy flags[ItemCount;InheritCondition],
                -fluid 0.3 categories[Water] mode:mixture,
                item 1 [VFX.TomatoSoupSachet] mode:destroy flags[ItemCount;Prop1],
                item 1 tags[base:mixingutensil] mode:keep flags[MayDegradeVeryLight],
            }

            outputs
            {
                item 1 mapper:MugBowl,
            }

            itemMapper MugBowl
            {
                VFX.BowlTomatoSoup = Base.Bowl,
                VFX.MugTomatoSoup = Base.Mugl,
                VFX.MugTomatoSoup_White = Base.MugWhite,
                VFX.MugTomatoSoup_Spiffo = Base.MugSpiffo,
                VFX.MugTomatoSoup_Clay = Base.ClayMug,
            }
        }

    /**** Ramen ****/

        craftRecipe VFX_OpenBoxRamen
        {
            timedAction = VFX.Unpacking,
            time = 30,
            tags = InHandCraft;CanBeDoneInDark,
            category = Cooking,

            inputs
            {
                item 1 [VFX.BoxChickenRamen;VFX.BoxBeefRamen;VFX.BoxShrimpRamen;VFX.BoxPorkRamen;VFX.BoxHotAndSpicyRamen;VFX.BoxSoySauceRamen] mappers[RamenType] mode:destroy flags[ItemCount;Prop2],
            }

            outputs
            {
                item 5 mapper:RamenType,
            }

            itemMapper RamenType
            {
                VFX.ChickenRamen = VFX.BoxChickenRamen,
                VFX.BeefRamen = VFX.BoxBeefRamen,
                VFX.ShrimpRamen = VFX.BoxShrimpRamen,
                VFX.PorkRamen = VFX.BoxPorkRamen,
                VFX.HotAndSpicyRamen = VFX.BoxHotAndSpicyRamen,
                VFX.SoySauceRamen = VFX.BoxSoySauceRamen,
            }
        }

        craftRecipe VFX_OpenPacketRamen
        {
            timedAction = VFX.UnpackingSmall,
            time = 10,
            tags = InHandCraft;CanBeDoneInDark,
            category = Cooking,

            inputs
            {
                item 1 [VFX.ChickenRamen;VFX.BeefRamen;VFX.ShrimpRamen;VFX.PorkRamen;VFX.HotAndSpicyRamen;VFX.SoySauceRamen] mappers[FlavorType] mode:destroy flags[ItemCount;Prop2],
            }

            outputs
            {
                item 1 Base.Ramen,
                item 1 mapper:FlavorType,
            }

            itemMapper FlavorType
            {
                VFX.ChickenRamenFlavourSachet = VFX.ChickenRamen,
                VFX.BeefRamenFlavourSachet = VFX.BeefRamen,
                VFX.ShrimpRamenFlavourSachet = VFX.ShrimpRamen,
                VFX.PorkRamenFlavourSachet = VFX.PorkRamen,
                VFX.HotAndSpicyRamenFlavourSachet = VFX.HotAndSpicyRamen,
                VFX.SoySauceRamenFlavourSachet = VFX.SoySauceRamen,
            }
        }

        craftRecipe VFX_PrepareRamen
        {
            timedAction = VFX.BowlMixing,
            time = 60,
            tags = AnySurfaceCraft,
            category = Cooking,

            inputs
            {
                item 1 [VFX.ChickenRamenFlavourSachet;VFX.BeefRamenFlavourSachet;VFX.ShrimpRamenFlavourSachet;VFX.PorkRamenFlavourSachet;VFX.HotAndSpicyRamenFlavourSachet;VFX.SoySauceRamenFlavourSachet] mappers[RamenBowlType] mode:destroy flags[ItemCount;InheritCondition],
                item 1 [Base.Ramen] mode:destroy flags[ItemCount],
                item 1 [Base.Bowl;Base.ClayBowl] mode:destroy flags[ItemCount],
                -fluid 0.3 categories[Water] mode:mixture,
            }

            outputs
            {
                item 1 mapper:RamenBowlType,
            }

            itemMapper RamenBowlType
            {
                VFX.BowlChickenRamen = VFX.ChickenRamenFlavourSachet,
                VFX.BowlBeefRamen = VFX.BeefRamenFlavourSachet,
                VFX.BowlShrimpRamen = VFX.ShrimpRamenFlavourSachet,
                VFX.BowlPorkRamen = VFX.PorkRamenFlavourSachet,
                VFX.BowlHotAndSpicyRamen = VFX.HotAndSpicyRamenFlavourSachet,
                VFX.BowlSoySauceRamen = VFX.SoySauceRamenFlavourSachet,
            }
        }

    /**** Pasta and Rice Meals ****/

        craftRecipe VFX_PreparePacketPasta
        {
            timedAction = VFX.SaucepanCooking,
            time = 50,
            tags = AnySurfaceCraft,
            category = Cooking,

            inputs
            {
                item 1 [VFX.PMCheddarBroccoli;VFX.PMParmesan;VFX.PMCreamyChicken;VFX.PMCreamyPesto;VFX.PMAlfredo;VFX.PMMacCheese] mappers[PastaMeal] mode:destroy flags[ItemCount],
                item 1 [Base.Saucepan;Base.SaucepanCopper] mode:destroy flags[InheritCondition;ItemCount],
                item 1 tags[base:mixingutensil] mode:keep flags[MayDegradeVeryLight],
                item 15 tags[base:bakingfat],
                item 1 [*],
                -fluid 0.5 [CowMilk],
            }

            outputs
            {
                item 1 mapper:PastaMeal,
            }

            itemMapper PastaMeal
            {
                VFX.PMSaucepanCheddarBroccoli = VFX.PMCheddarBroccoli,
                VFX.PMSaucepanParmesan = VFX.PMParmesan,
                VFX.PMSaucepanCreamyChicken = VFX.PMCreamyChicken,
                VFX.PMSaucepanCreamyPesto = VFX.PMCreamyPesto,
                VFX.PMSaucepanAlfredo = VFX.PMAlfredo,
                VFX.PMSaucepanMacCheese = VFX.PMMacCheese,

                VFX.PMCopperSaucepanCheddarBroccoli = VFX.PMCheddarBroccoli,
                VFX.PMCopperSaucepanParmesan = VFX.PMParmesan,
                VFX.PMCopperSaucepanCreamyChicken = VFX.PMCreamyChicken,
                VFX.PMCopperSaucepanCreamyPesto = VFX.PMCreamyPesto,
                VFX.PMCopperSaucepanAlfredo = VFX.PMAlfredo,
                VFX.PMCopperSaucepanMacCheese = VFX.PMMacCheese,
            }
        }

        craftRecipe VFX_PreparePacketRice
        {
            timedAction = VFX.SaucepanCooking,
            time = 50,
            tags = AnySurfaceCraft,
            category = Cooking,

            inputs
            {
                item 1 [VFX.RMChicken;VFX.RMMexican;VFX.RMMedley;VFX.RMFried] mappers[RiceMeal] mode:destroy flags[ItemCount],
                item 1 [Base.Saucepan;Base.SaucepanCopper] mode:destroy flags[InheritCondition;ItemCount],
                -fluid 0.6 categories[Water] mode:mixture,
                item 1 tags[base:mixingutensil] mode:keep flags[MayDegradeVeryLight],
                item 5 tags[base:bakingfat],
            }

            outputs
            {
                item 1 mapper:RiceMeal,
            }

            itemMapper RiceMeal
            {
                VFX.RMSaucepanChicken = VFX.RMChicken,
                VFX.RMSaucepanMexican = VFX.RMMexican,
                VFX.RMSaucepanMedley = VFX.RMMedley,
                VFX.RMSaucepanFried = VFX.RMFried,

                VFX.RMCopperSaucepanChicken = VFX.RMChicken,
                VFX.RMCopperSaucepanMexican = VFX.RMMexican,
                VFX.RMCopperSaucepanMedley = VFX.RMMedley,
                VFX.RMCopperSaucepanFried = VFX.RMFried,
            }
        }

    /**** Pasta and Rice ****/

        craftRecipe VFX_PrepareFreshPastaSaucepan
        {
            timedAction = VFX.SaucepanCooking,
            Time = 50,
            Tags = AnySurfaceCraft;Cooking,
            category = Cooking,

            inputs
            {
                item 1 [Base.Saucepan;Base.SaucepanCopper] mode:destroy flags[InheritCondition;ItemCount],
                -fluid 0.6 categories[Water] mode:mixture,
                item 1 [VFX.Gnocchi;VFX.GroundBeefRavioli;VFX.SpinachRicottaRavioli;VFX.ThreeCheeseRavioli;VFX.PumpkinRavioli;VFX.LobsterRavioli;VFX.ChickenMushroomRavioli;VFX.FourCheeseTortellini;VFX.PepperedPorkTortellini;VFX.SpinachRicottaTortellini;VFX.GroundBeefTortellini] mappers[pastaType] flags[ItemCount],
            }

            outputs
            {
                item 1 mapper:pastaType,
            }

            itemMapper pastaType
            {
                VFX.WaterSaucepanGnocchi = VFX.Gnocchi,
                VFX.SaucepanGroundBeefRavioli = VFX.GroundBeefRavioli,
                VFX.SaucepanSpinachRicottaRavioli = VFX.SpinachRicottaRavioli,
                VFX.SaucepanThreeCheeseRavioli = VFX.ThreeCheeseRavioli,
                VFX.SaucepanPumpkinRavioli = VFX.PumpkinRavioli,
                VFX.SaucepanLobsterRavioli = VFX.LobsterRavioli,
                VFX.SaucepanChickenMushroomRavioli = VFX.ChickenMushroomRavioli,
                VFX.SaucepanFourCheeseTortellini = VFX.FourCheeseTortellini,
                VFX.SaucepanPepperedPorkTortellini = VFX.PepperedPorkTortellini,
                VFX.SaucepanSpinachRicottaTortellini = VFX.SpinachRicottaTortellini,
                VFX.SaucepanGroundBeefTortellini = VFX.GroundBeefTortellini,

                VFX.WaterSaucepanCopperGnocchi = VFX.Gnocchi,
                VFX.CopperSaucepanGroundBeefRavioli = VFX.GroundBeefRavioli,
                VFX.CopperSaucepanSpinachRicottaRavioli = VFX.SpinachRicottaRavioli,
                VFX.CopperSaucepanThreeCheeseRavioli = VFX.ThreeCheeseRavioli,
                VFX.CopperSaucepanPumpkinRavioli = VFX.PumpkinRavioli,
                VFX.CopperSaucepanLobsterRavioli = VFX.LobsterRavioli,
                VFX.CopperSaucepanChickenMushroomRavioli = VFX.ChickenMushroomRavioli,
                VFX.CopperSaucepanFourCheeseTortellini = VFX.FourCheeseTortellini,
                VFX.CopperSaucepanPepperedPorkTortellini = VFX.PepperedPorkTortellini,
                VFX.CopperSaucepanSpinachRicottaTortellini = VFX.SpinachRicottaTortellini,
                VFX.CopperSaucepanGroundBeefTortellini = VFX.GroundBeefTortellini,
            }
        }

        craftRecipe VFX_PrepareFreshPastaPot
        {
            timedAction = VFX.PotCooking,
            Time = 50,
            Tags = AnySurfaceCraft;Cooking,
            category = Cooking,

            inputs
            {
                item 1 [Base.Pot;Base.PotForged] mode:destroy flags[InheritCondition;ItemCount],
                -fluid 1.5 categories[Water] mode:mixture,
                item 1 [VFX.Gnocchi;VFX.GroundBeefRavioli;VFX.SpinachRicottaRavioli;VFX.ThreeCheeseRavioli;VFX.PumpkinRavioli;VFX.LobsterRavioli;VFX.ChickenMushroomRavioli;VFX.FourCheeseTortellini;VFX.PepperedPorkTortellini;VFX.SpinachRicottaTortellini;VFX.GroundBeefTortellini] mappers[pastaType] flags[ItemCount],
            }

            outputs
            {
                item 1 mapper:pastaType,
            }

            itemMapper pastaType
            {
                VFX.WaterPotGnocchi = VFX.Gnocchi,
                VFX.PotGroundBeefRavioli = VFX.GroundBeefRavioli,
                VFX.PotSpinachRicottaRavioli = VFX.SpinachRicottaRavioli,
                VFX.PotThreeCheeseRavioli = VFX.ThreeCheeseRavioli,
                VFX.PotPumpkinRavioli = VFX.PumpkinRavioli,
                VFX.PotLobsterRavioli = VFX.LobsterRavioli,
                VFX.PotChickenMushroomRavioli = VFX.ChickenMushroomRavioli,
                VFX.PotFourCheeseTortellini = VFX.FourCheeseTortellini,
                VFX.PotPepperedPorkTortellini = VFX.PepperedPorkTortellini,
                VFX.PotSpinachRicottaTortellini = VFX.SpinachRicottaTortellini,
                VFX.PotGroundBeefTortellini = VFX.GroundBeefTortellini,

                VFX.WaterPotForgedGnocchi = VFX.Gnocchi,
                VFX.PotForgedGroundBeefRavioli = VFX.GroundBeefRavioli,
                VFX.PotForgedSpinachRicottaRavioli = VFX.SpinachRicottaRavioli,
                VFX.PotForgedThreeCheeseRavioli = VFX.ThreeCheeseRavioli,
                VFX.PotForgedPumpkinRavioli = VFX.PumpkinRavioli,
                VFX.PotForgedLobsterRavioli = VFX.LobsterRavioli,
                VFX.PotForgedChickenMushroomRavioli = VFX.ChickenMushroomRavioli,
                VFX.PotForgedFourCheeseTortellini = VFX.FourCheeseTortellini,
                VFX.PotForgedPepperedPorkTortellini = VFX.PepperedPorkTortellini,
                VFX.PotForgedSpinachRicottaTortellini = VFX.SpinachRicottaTortellini,
                VFX.PotForgedGroundBeefTortellini = VFX.GroundBeefTortellini,
            }
        }

    /**** Pasta Sauce ****/

        craftRecipe VFX_PrepareMarinara
        {
            timedAction = VFX.JarCanning,
            time = 50,
            category = Cooking,
            tags = AnySurfaceCraft;Cooking,
            xpAward = Cooking:3,

            inputs
            {
                item 1 tags[base:mixingutensil] mode:keep flags[MayDegradeVeryLight],
                item 1 tags[base:jar] mode:destroy flags[ItemCount],
                item 1 [Base.JarLid] mode:destroy,
                item 1 [5:Base.Tomato;1:Base.CannedTomato_Open;1:Base.CannedTomatoOpen] flags[InheritFoodAge;AllowRottenItem;ItemCount],
                item 1 [Base.Onion] flags[InheritFoodAge;AllowRottenItem;ItemCount],
                item 1 [2:Base.Garlic;2:Base.WildGarlic2;5:VFX.JarGarlicOpen],
                item 1 [Base.Seasoning_Oregano;Base.Oregano;Base.OreganoDried],
                item 1 [Base.Salt],
                item 5 [Base.OilOlive]
            }

            outputs
            {
                item 1 VFX.HomemadeMarinara,
            }
        }

        craftRecipe VFX_PrepareSpicyMarinara
        {
            timedAction = VFX.JarCanning,
            time = 50,
            category = Cooking,
            tags = AnySurfaceCraft;Cooking,
            xpAward = Cooking:3,

            inputs
            {
                item 1 tags[base:mixingutensil] mode:keep flags[MayDegradeVeryLight],
                item 1 tags[base:jar] mode:destroy flags[ItemCount],
                item 1 [Base.JarLid] mode:destroy,
                item 1 [5:Base.Tomato;1:Base.CannedTomato_Open;1:Base.CannedTomatoOpen] flags[InheritFoodAge;AllowRottenItem;ItemCount],
                item 1 [Base.Onion] flags[InheritFoodAge;AllowRottenItem;ItemCount],
                item 1 [2:Base.Garlic;2:Base.WildGarlic2;5:VFX.JarGarlicOpen],
                item 1 [Base.Seasoning_Oregano;Base.Oregano;Base.OreganoDried],
                item 3 [VFX.ChiliFlakes],
                item 3 [VFX.GroundChili],
                item 1 [Base.Salt],
                item 5 [Base.OilOlive],
            }

            outputs
            {
                item 1 VFX.HomemadeSpicyMarinara,
            }
        }

        craftRecipe VFX_PrepareMeatSauce
        {
            timedAction = VFX.JarCanning,
            time = 50,
            category = Cooking,
            tags = AnySurfaceCraft;Cooking,
            xpAward = Cooking:3,
            ToolTip = Tooltip_VFX_Recipe_MeatCooked,

            inputs
            {
                item 1 tags[base:mixingutensil] mode:keep flags[MayDegradeVeryLight],
                item 1 tags[base:jar] mode:destroy flags[ItemCount],
                item 1 [Base.JarLid] mode:destroy,
                item 1 [Base.MincedMeat;VFX.GroundChicken;VFX.GroundPork;VFX.GroundTurkey] flags[IsCookedFoodItem;ItemCount],
                item 1 [5:Base.Tomato;1:Base.CannedTomato_Open;1:Base.CannedTomatoOpen] flags[InheritFoodAge;AllowRottenItem;ItemCount],
                item 1 [Base.Onion] flags[InheritFoodAge;AllowRottenItem;ItemCount],
                item 1 [2:Base.Garlic;2:Base.WildGarlic2;5:VFX.JarGarlicOpen],
                item 1 [Base.Seasoning_Oregano;Base.Oregano;Base.OreganoDried],
                item 1 [Base.Salt],
                item 5 [Base.OilOlive],
            }

            outputs
            {
                item 1 VFX.HomemadeMeatSauce,
            }
        }

        craftRecipe VFX_PrepareBasilPesto
        {
            timedAction = VFX.JarCanning,
            time = 50,
            category = Cooking,
            tags = AnySurfaceCraft;Cooking,
            xpAward = Cooking:3,

            inputs
            {
                item 1 tags[base:mixingutensil] mode:keep flags[MayDegradeVeryLight],
                item 1 tags[base:jar] mode:destroy flags[ItemCount],
                item 1 [Base.JarLid] mode:destroy,
                item 1 [VFX.PineNuts] flags[ItemCount],
                item 1 [VFX.ParmesanCheese] flags[ItemCount],
                item 5 [Base.Basil] flags[ItemCount],
                item 1 [2:Base.Garlic;2:Base.WildGarlic2;5:VFX.JarGarlicOpen],
                item 5 [Base.OilOlive],
            }

            outputs
            {
                item 1 VFX.HomemadeBasilPestoSauce,
            }
        }

        craftRecipe VFX_PrepareAlfredoSauce
        {
            timedAction = VFX.JarCanning,
            time = 50,
            category = Cooking,
            tags = AnySurfaceCraft;Cooking,
            xpAward = Cooking:3,

            inputs
            {
                item 1 tags[base:mixingutensil] mode:keep flags[MayDegradeVeryLight],
                item 1 tags[base:jar] mode:destroy flags[ItemCount],
                item 1 [Base.JarLid] mode:destroy,
                item 1 [VFX.ParmesanCheese] flags[AllowRottenItem;ItemCount],
                item 1 [VFX.HeavyCream] flags[AllowRottenItem;ItemCount],
                item 2 [Base.Pepper],
                item 1 [2:Base.Garlic;2:Base.WildGarlic2;5:VFX.JarGarlicOpen],
                item 1 [Base.Butter] flags[ItemCount],
            }

            outputs
            {
                item 1 VFX.HomemadeAlfredoSauce,
            }
        }

        craftRecipe VFX_PrepareBechamelSauce
        {
            timedAction = VFX.JarCanning,
            time = 50,
            category = Cooking,
            tags = AnySurfaceCraft;Cooking,
            xpAward = Cooking:3,

            inputs
            {
                item 1  tags[base:mixingutensil] mode:keep flags[MayDegradeVeryLight],
                item 1  tags[base:jar] mode:destroy flags[ItemCount],
                item 1  [Base.JarLid] mode:destroy,
                item 10 [Base.Flour2],
                item 12 [Base.Butter],
                item 2  [Base.Salt],
                item 2  [Base.Pepper],
                item 1  [*],
                    -fluid 1.0 [CowMilk],
            }

            outputs
            {
                item 1 VFX.HomemadeBechamelSauce,
            }
        }

        craftRecipe VFX_OpenHomemadePastaSauce
        {
            timedAction = VFX.JarOpening,
            time = 15,
            tags = InHandCraft;Cooking;CanBeDoneInDark,
            category = Cooking,

            inputs
            {
                item 1 [VFX.HomemadeMarinara;VFX.HomemadeSpicyMarinara;VFX.HomemadeMeatSauce;VFX.HomemadeBasilPestoSauce;VFX.HomemadeAlfredoSauce;VFX.HomemadeBechamelSauce] mode:destroy mappers[HomemadePastaSauceType] flags[Prop2],
            }

            outputs
            {
                item 1 mapper:HomemadePastaSauceType,
                item 1 Base.JarLid,
            }

            itemMapper HomemadePastaSauceType
            {
                VFX.HomemadeMarinara_Open = VFX.HomemadeMarinara,
                VFX.HomemadeSpicyMarinara_Open = VFX.HomemadeSpicyMarinara,
                VFX.HomemadeMeatSauce_Open = VFX.HomemadeMeatSauce,
                VFX.HomemadeBasilPestoSauce_Open = VFX.HomemadeBasilPestoSauce,
                VFX.HomemadeAlfredoSauce_Open = VFX.HomemadeAlfredoSauce,
                VFX.HomemadeBechamelSauce_Open = VFX.HomemadeBechamelSauce,
            }
        }

    /**** Cereal ****/

        craftRecipe VFX_MakeBowlOfCereal
        {
            timedAction = VFX.PourInBowl,
            Time = 30,
            Tags = InHandCraft;Cooking,
            category = Cooking,
            xpAward = Cooking:3,

            inputs
            {
                item 5 [VFX.OatyOs;VFX.HoneyOatyOs;Base.Cereal;VFX.RiceKrisps;VFX.FrostyCrunch;VFX.FruityLoops;VFX.UnluckyCharms;VFX.AdmiralChomp;VFX.CocoaPuffs;VFX.Wheaties] mappers[cerealType] flags[Prop1],
                item 1 [Base.Bowl;Base.ClayBowl] mode:destroy flags[ItemCount],
                -fluid 0.3 [CowMilk;SheepMilk;VFX_SoyMilk],
            }

            outputs
            {
                item 1 mapper:cerealType,
            }

            itemMapper cerealType
            {
                VFX.OatyOsBowl = VFX.OatyOs,
                VFX.HoneyOatyOsBowl = VFX.HoneyOatyOs,
                Base.CerealBowl = Base.Cereal,
                VFX.RiceKrispsBowl = VFX.RiceKrisps,
                VFX.FrostyCrunchBowl = VFX.FrostyCrunch,
                VFX.FruityLoopsBowl = VFX.FruityLoops,
                VFX.UnluckyCharmsBowl = VFX.UnluckyCharms,
                VFX.AdmiralChompBowl = VFX.AdmiralChomp,
                VFX.CocoaPuffsBowl = VFX.CocoaPuffs,
                VFX.WheatiesBowl = VFX.Wheaties,
            }
        }

        craftRecipe VFX_MakeBowlOfGranola
        {
            timedAction = VFX.PourInBowl,
            Time = 30,
            Tags = InHandCraft;Cooking,
            category = Cooking,
            xpAward = Cooking:3,
            inputs
            {
                item 5 [VFX.HoneyOatsGranola;VFX.FruitNutGranola;VFX.MaplePecanGranola;VFX.CoconutAlmondGranola;VFX.ChocolateChipGranola] mappers[granolaType] flags[Prop1],
                item 1 [Base.Bowl;Base.ClayBowl] mode:destroy flags[ItemCount],
                -fluid 0.3 [CowMilk;SheepMilk;VFX_SoyMilk],
            }
            outputs
            {
                item 1 mapper:granolaType,
            }
            itemMapper granolaType
            {
                VFX.HoneyOatsGranolaBowl = VFX.HoneyOatsGranola,
                VFX.FruitNutGranolaBowl = VFX.FruitNutGranola,
                VFX.MaplePecanGranolaBowl = VFX.MaplePecanGranola,
                VFX.CoconutAlmondGranolaBowl = VFX.CoconutAlmondGranola,
                VFX.ChocolateChipGranolaBowl = VFX.ChocolateChipGranola,
            }
        }

/* <<<<<  Herbs, Spices and Seasoning  >>>>> */

    craftRecipe VFX_TakeBouillonCubeFromBox
    {
        timedAction = VFX.UnpackingSmall,
        Time = 10,
        Tags = InHandCraft;Cooking;CanBeDoneInDark,
        category = Cooking,

        inputs
        {
            item 1 [VFX.BoxChickenBouillonCube;VFX.BoxBeefBouillonCube;VFX.BoxFishBouillonCube;VFX.BoxVegetableBouillonCube] mappers[BouillonType] flags[Prop2],
        }

        outputs
        {
            item 1 mapper:BouillonType,
        }

        itemMapper BouillonType
        {
            Base.BouillonCube = VFX.BoxChickenBouillonCube,
            VFX.BeefBouillonCube = VFX.BoxBeefBouillonCube,
            VFX.FishBouillonCube = VFX.BoxFishBouillonCube,
            VFX.VegetableBouillonCube = VFX.BoxVegetableBouillonCube,
        }
    }

/* <<<<<  Snacks  >>>>> */

    craftRecipe VFX_OpenSnackCakeBox
    {
        timedAction = VFX.Unpacking,
        Time = 15,
        Tags = InHandCraft;Cooking;CanBeDoneInDark,
        category = Cooking,
        inputs
        {
            item 1 [VFX.ZebraCakesBox;VFX.SwissRollsBox;VFX.FudgeRoundsBox;VFX.CoffeeCakesBox;VFX.CosmicBrowniesBox;VFX.OatmealCremePiesBox] mappers[SnackCakeType] flags[Prop2] mode:destroy,
        }
        outputs
        {
            item 5 mapper:SnackCakeType,
        }
        itemMapper SnackCakeType
        {
            VFX.ZebraCake = VFX.ZebraCakesBox,
            VFX.SwissRoll = VFX.SwissRollsBox,
            VFX.FudgeRound = VFX.FudgeRoundsBox,
            VFX.CoffeeCake = VFX.CoffeeCakesBox,
            VFX.CosmicBrownie = VFX.CosmicBrowniesBox,
            VFX.OatmealCremePie = VFX.OatmealCremePiesBox,
        }
    }

    craftRecipe VFX_OpenToasterStrudelBox
    {
        timedAction = VFX.UnpackingSmall,
        Time = 15,
        Tags = InHandCraft;Cooking;CanBeDoneInDark,
        category = Cooking,
        inputs
        {
            item 1 [VFX.StrawberryStrudelsBox;VFX.CherryStrudelsBox;VFX.BlueberryStrudelsBox;VFX.CookiesAndCreamStrudelsBox;VFX.BrownSugarStrudelsBox] mappers[StrudelType] flags[Prop2] mode:destroy,
        }
        outputs
        {
            item 5 mapper:StrudelType,
        }
        itemMapper StrudelType
        {
            VFX.PackagedStrawberryStrudel = VFX.StrawberryStrudelsBox,
            VFX.PackagedCherryStrudel = VFX.CherryStrudelsBox,
            VFX.PackagedBlueberryStrudel = VFX.BlueberryStrudelsBox,
            VFX.PackagedCookiesAndCreamStrudel = VFX.CookiesAndCreamStrudelsBox,
            VFX.PackagedBrownSugarStrudel = VFX.BrownSugarStrudelsBox,
        }
    }

    craftRecipe VFX_OpenPackagedStrudel
    {
        timedAction = VFX.UnpackingSmall,
        Time = 10,
        Tags = InHandCraft;Cooking;CanBeDoneInDark,
        category = Cooking,
        inputs
        {
            item 1 [VFX.PackagedStrawberryStrudel;VFX.PackagedCherryStrudel;VFX.PackagedBlueberryStrudel;VFX.PackagedCookiesAndCreamStrudel;VFX.PackagedBrownSugarStrudel] mappers[OpenStrudel] flags[Prop2] mode:destroy,
        }
        outputs
        {
            item 1 mapper:OpenStrudel,
        }
        itemMapper OpenStrudel
        {
            VFX.StrawberryToasterStrudel = VFX.PackagedStrawberryStrudel,
            VFX.CherryToasterStrudel = VFX.PackagedCherryStrudel,
            VFX.BlueberryToasterStrudel = VFX.PackagedBlueberryStrudel,
            VFX.CookiesAndCreamToasterStrudel = VFX.PackagedCookiesAndCreamStrudel,
            VFX.BrownSugarToasterStrudel = VFX.PackagedBrownSugarStrudel,
        }
    }

    craftRecipe VFX_OpenPuddingBox
    {
        timedAction = VFX.Unpacking,
        Time = 15,
        Tags = InHandCraft;Cooking;CanBeDoneInDark,
        category = Cooking,
        inputs
        {
            item 1 [VFX.ChocolatePuddingBox;VFX.VanillaPuddingBox;VFX.CustardPuddingBox;VFX.StrawberryPuddingBox;VFX.BananaCreamPuddingBox] mappers[PuddingType] flags[Prop2] mode:destroy,
        }
        outputs
        {
            item 4 mapper:PuddingType,
        }
        itemMapper PuddingType
        {
            VFX.ChocolatePuddingCup = VFX.ChocolatePuddingBox,
            VFX.VanillaPuddingCup = VFX.VanillaPuddingBox,
            VFX.CustardPuddingCup = VFX.CustardPuddingBox,
            VFX.StrawberryPuddingCup = VFX.StrawberryPuddingBox,
            VFX.BananaCreamPuddingCup = VFX.BananaCreamPuddingBox,
        }
    }

    craftRecipe VFX_OpenJelloBox
    {
        timedAction = VFX.Unpacking,
        Time = 15,
        Tags = InHandCraft;Cooking;CanBeDoneInDark,
        category = Cooking,
        inputs
        {
            item 1 [VFX.StrawberryJelloBox;VFX.LemonLimeJelloBox;VFX.OrangeJelloBox;VFX.CherryJelloBox;VFX.PineappleJelloBox;VFX.BerryBlueJelloBox;VFX.RaspberryJelloBox;VFX.LimeJelloBox;VFX.PeachJelloBox;VFX.GrapeJelloBox;VFX.LemonJelloBox] mappers[JelloType] flags[Prop2] mode:destroy,
        }
        outputs
        {
            item 4 mapper:JelloType,
        }
        itemMapper JelloType
        {
            VFX.StrawberryJelloCup = VFX.StrawberryJelloBox,
            VFX.LemonLimeJelloCup = VFX.LemonLimeJelloBox,
            VFX.OrangeJelloCup = VFX.OrangeJelloBox,
            VFX.CherryJelloCup = VFX.CherryJelloBox,
            VFX.PineappleJelloCup = VFX.PineappleJelloBox,
            VFX.BerryBlueJelloCup = VFX.BerryBlueJelloBox,
            VFX.RaspberryJelloCup = VFX.RaspberryJelloBox,
            VFX.LimeJelloCup = VFX.LimeJelloBox,
            VFX.PeachJelloCup = VFX.PeachJelloBox,
            VFX.GrapeJelloCup = VFX.GrapeJelloBox,
            VFX.LemonJelloCup = VFX.LemonJelloBox,
        }
    }

    craftRecipe VFX_OpenFruitCupBox
    {
        timedAction = VFX.Unpacking,
        Time = 15,
        Tags = InHandCraft;Cooking;CanBeDoneInDark,
        category = Cooking,

        inputs
        {
            item 1 [VFX.PeachSyrupFruitBox;VFX.PeachJellyFruitBox;VFX.PearSyrupFruitBox;VFX.PearJellyFruitBox;VFX.FruitSaladSyrupFruitBox;VFX.FruitSaladJellyFruitBox;VFX.MandarinSyrupFruitBox;VFX.MandarinJellyFruitBox;VFX.PineappleSyrupFruitBox;VFX.PineappleJellyFruitBox;VFX.TropicalSyrupFruitBox;VFX.TropicalJellyFruitBox] mappers[fruitCupType] flags[Prop2] mode:destroy,
        }

        outputs
        {
            item 4 mapper:fruitCupType,
        }

        itemMapper fruitCupType
        {
            VFX.PeachSyrupFruitCup = VFX.PeachSyrupFruitBox,
            VFX.PeachJellyFruitCup = VFX.PeachJellyFruitBox,

            VFX.PearSyrupFruitCup = VFX.PearSyrupFruitBox,
            VFX.PearJellyFruitCup = VFX.PearJellyFruitBox,

            VFX.FruitSaladSyrupFruitCup = VFX.FruitSaladSyrupFruitBox,
            VFX.FruitSaladJellyFruitCup = VFX.FruitSaladJellyFruitBox,

            VFX.MandarinSyrupFruitCup = VFX.MandarinSyrupFruitBox,
            VFX.MandarinJellyFruitCup = VFX.MandarinJellyFruitBox,

            VFX.PineappleSyrupFruitCup = VFX.PineappleSyrupFruitBox,
            VFX.PineappleJellyFruitCup = VFX.PineappleJellyFruitBox,

            VFX.TropicalSyrupFruitCup = VFX.TropicalSyrupFruitBox,
            VFX.TropicalJellyFruitCup = VFX.TropicalJellyFruitBox,
        }
    }

    craftRecipe VFX_OpenGranolaBarBox
    {
        timedAction = VFX.UnpackingSmall,
        time = 15,
        tags = InHandCraft;Cooking;CanBeDoneInDark,
        category = Cooking,

        inputs
        {
            item 1 [VFX.AlmondGranolaBarBox;VFX.ChocolateChipGranolaBarBox;VFX.NuttyGranolaBarBox;VFX.OatGranolaBarBox;VFX.PeanutButterGranolaBarBox] mappers[granolaBarType] flags[Prop2] mode:destroy,
        }

        outputs
        {
            item 5 mapper:granolaBarType,
        }

        itemMapper granolaBarType
        {
            VFX.AlmondGranolaBar = VFX.AlmondGranolaBarBox,
            VFX.ChocolateChipGranolaBar = VFX.ChocolateChipGranolaBarBox,
            VFX.NuttyGranolaBar = VFX.NuttyGranolaBarBox,
            VFX.OatGranolaBar = VFX.OatGranolaBarBox,
            Base.GranolaBar = VFX.PeanutButterGranolaBarBox,
        }
    }

/* <<<<<  Baking  >>>>> */

    /**** Cake ****/

        craftRecipe VFX_MakeCakeBatter
        {
            timedAction = VFX.BowlMixing,
            time = 50,
            category = Cooking,
            Tags = AnySurfaceCraft;Cooking,
            xpAward = Cooking:3,

            inputs
            {
                item 1 tags[base:mixingutensil] mode:keep flags[MayDegradeVeryLight],
                item 1 [Base.Bowl;Base.ClayBowl] flags[ItemCount],
                item 1 [VFX.FrenchVanillaCakeMix;VFX.CarrotCakeMix;VFX.ChocolateCakeMix;VFX.RedVelvetCakeMix;VFX.StrawberryCakeMix;VFX.CaramelCakeMix;VFX.OrangePoppyseedCakeMix;VFX.ConfettiCakeMix;VFX.SpiceCakeMix;VFX.YellowCakeMix] mappers[CakeMixType] flags[ItemCount],
                item 10 tags[base:bakingfat],
                item 1 tags[base:egg] flags[IsUncookedFoodItem;InheritFoodAge;ItemCount],
                item 1 [*],
                    -fluid 0.5 [Water],
            }

            outputs
            {
                item 1 mapper:CakeMixType,
            }

            itemMapper CakeMixType
            {
                VFX.FrenchVanillaCakeBatter = VFX.FrenchVanillaCakeMix,
                VFX.CarrotCakeBatter = VFX.CarrotCakeMix,
                VFX.ChocolateCakeBatter = VFX.ChocolateCakeMix,
                VFX.RedVelvetCakeBatter = VFX.RedVelvetCakeMix,
                VFX.StrawberryCakeBatter = VFX.StrawberryCakeMix,
                VFX.CaramelCakeBatter = VFX.CaramelCakeMix,
                VFX.OrangePoppyseedCakeBatter = VFX.OrangePoppyseedCakeMix,
                VFX.ConfettiCakeBatter = VFX.ConfettiCakeMix,
                VFX.SpiceCakeBatter = VFX.SpiceCakeMix,
                VFX.YellowCakeBatter = VFX.YellowCakeMix,
            }
        }

        craftRecipe VFX_PutCakeInBakingPan
        {
            timedAction = VFX.PutInBakingPan,
            time = 20,
            category = Cooking,
            Tags = InHandCraft;Cooking,
            xpAward = Cooking:3,

            inputs
            {
                item 1 [Base.BakingPan],
                item 1 [VFX.FrenchVanillaCakeBatter;VFX.CarrotCakeBatter;VFX.ChocolateCakeBatter;VFX.RedVelvetCakeBatter;VFX.StrawberryCakeBatter;VFX.CaramelCakeBatter;VFX.OrangePoppyseedCakeBatter;VFX.ConfettiCakeBatter;VFX.SpiceCakeBatter;VFX.YellowCakeBatter] mappers[CakeBatterType] flags[InheritFoodAge;Prop1],
            }

            outputs
            {
                item 1 mapper:CakeBatterType,
                item 1 Base.Bowl,
            }

            itemMapper CakeBatterType
            {
                VFX.FrenchVanillaCakePrep = VFX.FrenchVanillaCakeBatter,
                VFX.CarrotCakePrep = VFX.CarrotCakeBatter,
                VFX.ChocolateCakePrep = VFX.ChocolateCakeBatter,
                VFX.RedVelvetCakePrep = VFX.RedVelvetCakeBatter,
                VFX.StrawberryCakePrep = VFX.StrawberryCakeBatter,
                VFX.CaramelCakePrep = VFX.CaramelCakeBatter,
                VFX.OrangePoppyseedCakePrep = VFX.OrangePoppyseedCakeBatter,
                VFX.ConfettiCakePrep = VFX.ConfettiCakeBatter,
                VFX.SpiceCakePrep = VFX.SpiceCakeBatter,
                VFX.YellowCakePrep = VFX.YellowCakeBatter,
            }
        }

        craftRecipe VFX_SliceCake
        {
            timedAction = SliceFood_Surface,
            time = 20,
            category = Cooking,
            Tags = AnySurfaceCraft;Cooking,
            xpAward = Cooking:3,
            ToolTip = Tooltip_Recipe_MustCookedGet,

            inputs
            {
                item 1 tags[base:sharpknife;base:dullknife;base:meatcleaver] mode:keep flags[MayDegradeLight],
                item 1 [VFX.FrenchVanillaCakePrep;VFX.CarrotCakePrep;VFX.ChocolateCakePrep;VFX.RedVelvetCakePrep;VFX.StrawberryCakePrep;VFX.CaramelCakePrep;VFX.OrangePoppyseedCakePrep;VFX.ConfettiCakePrep;VFX.SpiceCakePrep;VFX.YellowCakePrep] mappers[CakeSliceType] flags[IsCookedFoodItem;InheritFoodAge;ItemCount],
            }

            outputs
            {
                item 5 mapper:CakeSliceType,
                item 1 Base.BakingPan,
            }

            itemMapper CakeSliceType
            {
                VFX.FrenchVanillaCakeSlice = VFX.FrenchVanillaCakePrep,
                Base.CakeCarrot = VFX.CarrotCakePrep,
                Base.CakeChocolate = VFX.ChocolateCakePrep,
                Base.CakeRedVelvet = VFX.RedVelvetCakePrep,
                Base.CakeStrawberryShortcake = VFX.StrawberryCakePrep,
                VFX.CaramelCakeSlice = VFX.CaramelCakePrep,
                VFX.OrangePoppyseedCakeSlice = VFX.OrangePoppyseedCakePrep,
                VFX.ConfettiCakeSlice = VFX.ConfettiCakePrep,
                VFX.SpiceCakeSlice = VFX.SpiceCakePrep,
                VFX.YellowCakeSlice = VFX.YellowCakePrep,
            }
        }

        craftRecipe VFX_PrepareFrenchVanillaCake
        {
            timedAction = VFX.BowlMixing,
            time = 50,
            category = Cooking,
            Tags = AnySurfaceCraft;Cooking,
            Tooltip = Tooltip_Recipe_RequireWholeEggs,
            xpAward = Cooking:10,
            needToBeLearn = true,
            AutoLearnAny = Cooking:7,

            inputs
            {
                item 1  tags[base:mixingutensil] mode:keep flags[MayDegradeVeryLight],
                item 1  [Base.Bowl;Base.ClayBowl] flags[ItemCount],

                item 15 tags[base:flour],
                item 1  [VFX.BakingPowder],
                item 10 tags[base:bakingfat],
                item 2  tags[base:egg] flags[IsUncookedFoodItem;InheritFoodAge;ItemCount],
                item 15 [Base.Sugar],

                item 2  [VFX.VanillaExtract],
                item 1  [*],
                    -fluid 1.0 [CowMilk],
            }

            outputs
            {
                item 1 VFX.FrenchVanillaCakeBatter,
            }
        }

        craftRecipe VFX_PrepareCarrotCake
        {
            timedAction = VFX.BowlMixing,
            time = 50,
            category = Cooking,
            Tags = AnySurfaceCraft;Cooking,
            Tooltip = Tooltip_Recipe_RequireWholeEggs,
            xpAward = Cooking:10,
            needToBeLearn = true,
            AutoLearnAny = Cooking:7,

            inputs
            {
                item 1  tags[base:mixingutensil] mode:keep flags[MayDegradeVeryLight],
                item 1  [Base.CheeseGrater] mode:keep,
                item 1  [Base.Bowl;Base.ClayBowl] flags[ItemCount],

                item 15 tags[base:flour],
                item 1  [VFX.BakingPowder],
                item 10 tags[base:bakingfat],
                item 2  tags[base:egg] flags[IsUncookedFoodItem;InheritFoodAge;ItemCount],
                item 15 [Base.Sugar],

                item 2  [Base.Carrots] flags[ItemCount],
                item 1  [Base.Cinnamon],
                item 1  [VFX.Nutmeg],
                item 1  [VFX.Allspice],
                item 1  [VFX.Cloves],
                item 1  [*],
                    -fluid 1.0 [CowMilk],
            }

            outputs
            {
                item 1 VFX.CarrotCakeBatter,
            }
        }

        craftRecipe VFX_PrepareChocolateCake
        {
            timedAction = VFX.BowlMixing,
            time = 50,
            category = Cooking,
            Tags = AnySurfaceCraft;Cooking,
            Tooltip = Tooltip_Recipe_RequireWholeEggs,
            xpAward = Cooking:10,
            needToBeLearn = true,
            AutoLearnAny = Cooking:7,

            inputs
            {
                item 1 tags[base:mixingutensil] mode:keep flags[MayDegradeVeryLight],
                item 1 [Base.Bowl;Base.ClayBowl] flags[ItemCount],

                item 15 tags[base:flour],
                item 1  [VFX.BakingPowder],
                item 10 tags[base:bakingfat],
                item 2  tags[base:egg] flags[IsUncookedFoodItem;InheritFoodAge;ItemCount],
                item 15 [Base.Sugar],

                item 15 [Base.CocoaPowder],
                item 1 [*],
                    -fluid 1.0 [CowMilk],
            }

            outputs
            {
                item 1 VFX.ChocolateCakeBatter,
            }
        }

        craftRecipe VFX_PrepareRedVelvetCake
        {
            timedAction = VFX.BowlMixing,
            time = 50,
            category = Cooking,
            Tags = AnySurfaceCraft;Cooking,
            Tooltip = Tooltip_Recipe_RequireWholeEggs,
            xpAward = Cooking:10,
            needToBeLearn = true,
            AutoLearnAny = Cooking:7,

            inputs
            {
                item 1  tags[base:mixingutensil] mode:keep flags[MayDegradeVeryLight],
                item 1  [Base.Bowl;Base.ClayBowl] flags[ItemCount],

                item 15 tags[base:flour],
                item 1  [VFX.BakingPowder],
                item 10 tags[base:bakingfat],
                item 2  tags[base:egg] flags[IsUncookedFoodItem;InheritFoodAge;ItemCount],
                item 15 [Base.Sugar],

                item 15 [Base.CocoaPowder],
                item 1 [*],
                    -fluid 1.0 [CowMilk],
            }

            outputs
            {
                item 1 VFX.RedVelvetCakeBatter,
            }
        }

        craftRecipe VFX_PrepareStrawberryCake
        {
            timedAction = VFX.BowlMixing,
            time = 50,
            category = Cooking,
            Tags = AnySurfaceCraft;Cooking,
            Tooltip = Tooltip_Recipe_RequireWholeEggs,
            xpAward = Cooking:10,
            needToBeLearn = true,
            AutoLearnAny = Cooking:7,

            inputs
            {
                item 1 tags[base:mixingutensil] mode:keep flags[MayDegradeVeryLight],
                item 1 [Base.Bowl;Base.ClayBowl] flags[ItemCount],

                item 15 tags[base:flour],
                item 1  [VFX.BakingPowder],
                item 10 tags[base:bakingfat],
                item 2  tags[base:egg] flags[IsUncookedFoodItem;InheritFoodAge;ItemCount],
                item 15 [Base.Sugar],

                item 1 [10:Base.Strewberrie;1:VFX.WholeStrawberries;1:VFX.SlicedStrawberries] flags[AllowFrozenItem;InheritFoodAge;ItemCount],
                item 2 [VFX.VanillaExtract],
                item 1 [*],
                    -fluid 1.0 [CowMilk],
            }

            outputs
            {
                item 1 VFX.StrawberryCakeBatter,
            }
        }

        craftRecipe VFX_PrepareCaramelCake
        {
            timedAction = VFX.BowlMixing,
            time = 50,
            category = Cooking,
            Tags = AnySurfaceCraft;Cooking,
            Tooltip = Tooltip_Recipe_RequireWholeEggs,
            xpAward = Cooking:10,
            needToBeLearn = true,
            AutoLearnAny = Cooking:7,

            inputs
            {
                item 1  tags[base:mixingutensil] mode:keep flags[MayDegradeVeryLight],
                item 1  [Base.Bowl;Base.ClayBowl] flags[ItemCount],

                item 15 tags[base:flour],
                item 1  [VFX.BakingPowder],
                item 10 tags[base:bakingfat],
                item 2  tags[base:egg] flags[IsUncookedFoodItem;InheritFoodAge;ItemCount],
                item 15 [Base.Sugar],

                item 15 [Base.SugarBrown],
                item 1  [VFX.VanillaExtract],
                item 1  [*],
                    -fluid 1.0 [CowMilk],
            }

            outputs
            {
                item 1 VFX.CaramelCakeBatter,
            }
        }

        craftRecipe VFX_PrepareOrangePoppyseedCake
        {
            timedAction = VFX.BowlMixing,
            time = 50,
            category = Cooking,
            Tags = AnySurfaceCraft;Cooking,
            Tooltip = Tooltip_Recipe_RequireWholeEggs,
            xpAward = Cooking:10,
            needToBeLearn = true,
            AutoLearnAny = Cooking:7,

            inputs
            {
                item 1  tags[base:mixingutensil] mode:keep flags[MayDegradeVeryLight],
                item 1  [Base.CheeseGrater] mode:keep,
                item 1  [Base.Bowl;Base.ClayBowl] flags[ItemCount],

                item 15 tags[base:flour],
                item 1  [VFX.BakingPowder],
                item 10 tags[base:bakingfat],
                item 2  tags[base:egg] flags[IsUncookedFoodItem;InheritFoodAge;ItemCount],
                item 15 [Base.Sugar],

                item 1  [Base.Orange] flags[ItemCount],
                item 2  [Base.PoppySeed] flags[ItemCount],
                item 1  [*],
                    -fluid 1.0 [CowMilk],
            }

            outputs
            {
                item 1 VFX.OrangePoppyseedCakeBatter,
            }
        }

        craftRecipe VFX_PrepareConfettiCake
        {
            timedAction = VFX.BowlMixing,
            time = 50,
            category = Cooking,
            Tags = AnySurfaceCraft;Cooking,
            Tooltip = Tooltip_Recipe_RequireWholeEggs,
            xpAward = Cooking:10,
            needToBeLearn = true,
            AutoLearnAny = Cooking:7,

            inputs
            {
                item 1  tags[base:mixingutensil] mode:keep flags[MayDegradeVeryLight],
                item 1  [Base.Bowl;Base.ClayBowl] flags[ItemCount],

                item 15 tags[base:flour],
                item 1  [VFX.BakingPowder],
                item 10 tags[base:bakingfat],
                item 2  tags[base:egg] flags[IsUncookedFoodItem;InheritFoodAge;ItemCount],
                item 15 [Base.Sugar],

                item 2  [VFX.VanillaExtract],
                item 1  [VFX.Sprinkles] flags[ItemCount],
                item 1  [*],
                    -fluid 1.0 [CowMilk],
            }

            outputs
            {
                item 1 VFX.ConfettiCakeBatter,
            }
        }

        craftRecipe VFX_PrepareSpiceCake
        {
            timedAction = VFX.BowlMixing,
            time = 50,
            category = Cooking,
            Tags = AnySurfaceCraft;Cooking,
            Tooltip = Tooltip_Recipe_RequireWholeEggs,
            xpAward = Cooking:10,
            needToBeLearn = true,
            AutoLearnAny = Cooking:7,

            inputs
            {
                item 1  tags[base:mixingutensil] mode:keep flags[MayDegradeVeryLight],
                item 1  [Base.Bowl;Base.ClayBowl] flags[ItemCount],

                item 15 tags[base:flour],
                item 1  [VFX.BakingPowder],
                item 10 tags[base:bakingfat],
                item 2  tags[base:egg] flags[IsUncookedFoodItem;InheritFoodAge;ItemCount],
                item 15 [Base.Sugar],

                item 10 [Base.SugarBrown],
                item 1  [VFX.VanillaExtract],
                item 2  [Base.Cinnamon],
                item 2  [VFX.GroundGinger],
                item 2  [VFX.Nutmeg],
                item 2  [VFX.Cloves],
                item 1  [*],
                    -fluid 1.0 [CowMilk],
            }

            outputs
            {
                item 1 VFX.SpiceCakeBatter,
            }
        }

        craftRecipe VFX_PrepareYellowCake
        {
            timedAction = VFX.BowlMixing,
            time = 50,
            category = Cooking,
            Tags = AnySurfaceCraft;Cooking,
            Tooltip = Tooltip_Recipe_RequireWholeEggs,
            xpAward = Cooking:10,
            needToBeLearn = true,
            AutoLearnAny = Cooking:7,

            inputs
            {
                item 1  tags[base:mixingutensil] mode:keep flags[MayDegradeVeryLight],
                item 1  [Base.Bowl;Base.ClayBowl] flags[ItemCount],

                item 15 tags[base:flour],
                item 1  [VFX.BakingPowder],
                item 10 tags[base:bakingfat],
                item 2  tags[base:egg] flags[IsUncookedFoodItem;InheritFoodAge;ItemCount],
                item 15 [Base.Sugar],
                
                item 1  [VFX.VanillaExtract],
                item 1  [*],
                    -fluid 1.0 [CowMilk],
            }

            outputs
            {
                item 1 VFX.YellowCakeBatter,
            }
        }

    /**** Muffin Mix ****/

        craftRecipe VFX_MakeMuffinBatter
        {
            timedAction = VFX.BowlMixing,
            time = 50,
            category = Cooking,
            Tags = AnySurfaceCraft;Cooking,
            xpAward = Cooking:3,

            inputs
            {
                item 1 tags[base:mixingutensil] mode:keep flags[MayDegradeVeryLight],
                item 1 [Base.Bowl;Base.ClayBowl] flags[ItemCount],
                item 1 [VFX.AppleCinnamonMuffinMix;VFX.BlueberryMuffinMix;VFX.ChocolateChipMuffinMix;VFX.DoubleChocolateMuffinMix;VFX.CornMuffinMix;VFX.LemonPoppyMuffinMix;VFX.BranMuffinMix] mappers[MuffinBatterType] flags[ItemCount],
                item 2 tags[base:egg] flags[IsUncookedFoodItem;InheritFoodAge;ItemCount],
                item 1 [*],
                    -fluid 0.5 [CowMilk],
            }

            outputs
            {
                item 1 mapper:MuffinBatterType,
            }

            itemMapper MuffinBatterType
            {
                VFX.AppleCinnamonMuffinBatter = VFX.AppleCinnamonMuffinMix,
                VFX.BlueberryMuffinBatter = VFX.BlueberryMuffinMix,
                VFX.ChocolateChipMuffinBatter = VFX.ChocolateChipMuffinMix,
                VFX.DoubleChocolateMuffinBatter = VFX.DoubleChocolateMuffinMix,
                VFX.CornMuffinBatter = VFX.CornMuffinMix,
                VFX.LemonPoppyMuffinBatter = VFX.LemonPoppyMuffinMix,
                VFX.BranMuffinBatter = VFX.BranMuffinMix,
            }
        }

        craftRecipe VFX_PrepareMuffinTray
        {
            timedAction = VFX.BowlMixing,
            time = 60,
            category = Cooking,
            Tags = AnySurfaceCraft;Cooking,
            xpAward = Cooking:3,

            inputs
            {
                item 1 [Base.MuffinTray],
                item 1 [VFX.AppleCinnamonMuffinBatter;VFX.BlueberryMuffinBatter;VFX.ChocolateChipMuffinBatter;VFX.DoubleChocolateMuffinBatter;VFX.CornMuffinBatter;VFX.LemonPoppyMuffinBatter;VFX.BranMuffinBatter] mappers[MuffinPrepType] flags[InheritFoodAge],
            }

            outputs
            {
                item 1 mapper:MuffinPrepType,
                item 1 Base.Bowl,
            }

            itemMapper MuffinPrepType
            {
                VFX.AppleCinnamonMuffinPrep = VFX.AppleCinnamonMuffinBatter,
                VFX.BlueberryMuffinPrep = VFX.BlueberryMuffinBatter,
                VFX.ChocolateChipMuffinPrep = VFX.ChocolateChipMuffinBatter,
                VFX.DoubleChocolateMuffinPrep = VFX.DoubleChocolateMuffinBatter,
                VFX.CornMuffinPrep = VFX.CornMuffinBatter,
                VFX.LemonPoppyMuffinPrep = VFX.LemonPoppyMuffinBatter,
                VFX.BranMuffinPrep = VFX.BranMuffinBatter,
            }
        }

        craftRecipe VFX_GetMuffinsFromTray
        {
            timedAction = VFX.Unpacking,
            time = 60,
            category = Cooking,
            Tags = InHandCraft;Cooking,
            ToolTip = Tooltip_Recipe_MustCookedGet,

            inputs
            {
                item 1 [VFX.AppleCinnamonMuffinPrep;VFX.BlueberryMuffinPrep;VFX.ChocolateChipMuffinPrep;VFX.DoubleChocolateMuffinPrep;VFX.CornMuffinPrep;VFX.LemonPoppyMuffinPrep;VFX.BranMuffinPrep] mappers[MuffinType] flags[IsCookedFoodItem;InheritFoodAge;ItemCount;Prop2],
            }

            outputs
            {
                item 6 mapper:MuffinType,
                item 1 Base.MuffinTray,
            }

            itemMapper MuffinType
            {
                VFX.AppleCinnamonMuffin = VFX.AppleCinnamonMuffinPrep,
                VFX.BlueberryMuffin = VFX.BlueberryMuffinPrep,
                VFX.ChocolateChipMuffin = VFX.ChocolateChipMuffinPrep,
                VFX.DoubleChocolateMuffin = VFX.DoubleChocolateMuffinPrep,
                VFX.CornMuffin = VFX.CornMuffinPrep,
                VFX.LemonPoppyMuffin = VFX.LemonPoppyMuffinPrep,
                VFX.BranMuffin = VFX.BranMuffinPrep,
            }
        }

        craftRecipe VFX_PrepareAppleCinnamonMuffins
        {
            timedAction = VFX.BowlMixing,
            time = 50,
            category = Cooking,
            Tags = AnySurfaceCraft;Cooking,
            Tooltip = Tooltip_Recipe_RequireWholeEggs,
            xpAward = Cooking:10,
            needToBeLearn = true,
            AutoLearnAny = Cooking:7,

            inputs
            {
                item 1 tags[base:mixingutensil] mode:keep flags[MayDegradeVeryLight],
                item 1 [Base.Bowl;Base.ClayBowl] mode:keep,
                item 1 [Base.MuffinTray],
                item 2 tags[base:egg] flags[IsUncookedFoodItem;InheritFoodAge;ItemCount],
                item 6 tags[base:bakingfat],
                item 5 [Base.Sugar],
                item 6 [Base.Flour2],

                item 2 [Base.Apple] flags[ItemCount],
                item 1 [Base.Cinnamon],
                item 1 [VFX.Nutmeg],
                item 1 [*],
                    -fluid 1.0 [CowMilk],
            }

            outputs
            {
                item 1 VFX.AppleCinnamonMuffinBatter,
            }
        }

        craftRecipe VFX_PrepareBlueberryMuffins
        {
            timedAction = VFX.BowlMixing,
            time = 50,
            category = Cooking,
            Tags = AnySurfaceCraft;Cooking,
            Tooltip = Tooltip_Recipe_RequireWholeEggs,
            xpAward = Cooking:10,
            needToBeLearn = true,
            AutoLearnAny = Cooking:7,

            inputs
            {
                item 1 tags[base:mixingutensil] mode:keep flags[MayDegradeVeryLight],
                item 1 [Base.Bowl;Base.ClayBowl] mode:keep,
                item 1 [Base.MuffinTray],
                item 2 tags[base:egg] flags[IsUncookedFoodItem;InheritFoodAge;ItemCount],
                item 6 tags[base:bakingfat],
                item 5 [Base.Sugar],
                item 6 [Base.Flour2],

                item 1 [VFX.PunnetBlueberries;VFX.Blueberries] flags[AllowFrozenItem;InheritFoodAge;ItemCount],
                item 1 [VFX.VanillaExtract],
                item 1 [*],
                    -fluid 1.0 [CowMilk],
            }

            outputs
            {
                item 1 VFX.BlueberryMuffinBatter,
            }
        }

        craftRecipe VFX_PrepareChocolateChipMuffins
        {
            timedAction = VFX.BowlMixing,
            time = 50,
            category = Cooking,
            Tags = AnySurfaceCraft;Cooking,
            Tooltip = Tooltip_Recipe_RequireWholeEggs,
            xpAward = Cooking:10,
            needToBeLearn = true,
            AutoLearnAny = Cooking:7,

            inputs
            {
                item 1 tags[base:mixingutensil] mode:keep flags[MayDegradeVeryLight],
                item 1 [Base.Bowl;Base.ClayBowl] mode:keep,
                item 1 [Base.MuffinTray],
                item 2 tags[base:egg] flags[IsUncookedFoodItem;InheritFoodAge;ItemCount],
                item 6 tags[base:bakingfat],
                item 5 [Base.Sugar],
                item 6 [Base.Flour2],

                item 2 [Base.ChocolateChips] flags[ItemCount],
                item 1 [*],
                    -fluid 1.0 [CowMilk],
            }

            outputs
            {
                item 1 VFX.ChocolateChipMuffinBatter,
            }
        }

        craftRecipe VFX_PrepareDoubleChocolateMuffins
        {
            timedAction = VFX.BowlMixing,
            time = 50,
            category = Cooking,
            Tags = AnySurfaceCraft;Cooking,
            Tooltip = Tooltip_Recipe_RequireWholeEggs,
            xpAward = Cooking:10,
            needToBeLearn = true,
            AutoLearnAny = Cooking:7,

            inputs
            {
                item 1 tags[base:mixingutensil] mode:keep flags[MayDegradeVeryLight],
                item 1 [Base.Bowl;Base.ClayBowl] mode:keep,
                item 1 [Base.MuffinTray],
                item 2 tags[base:egg] flags[IsUncookedFoodItem;InheritFoodAge;ItemCount],
                item 6 tags[base:bakingfat],
                item 5 [Base.Sugar],
                item 6 [Base.Flour2],

                item 15 [Base.CocoaPowder],
                item 1 [Base.ChocolateChips] flags[ItemCount],
                item 1 [*],
                    -fluid 1.0 [CowMilk],
            }

            outputs
            {
                item 1 VFX.DoubleChocolateMuffinBatter,
            }
        }

        craftRecipe VFX_PrepareCornMuffins
        {
            timedAction = VFX.BowlMixing,
            time = 50,
            category = Cooking,
            Tags = AnySurfaceCraft;Cooking,
            Tooltip = Tooltip_Recipe_RequireWholeEggs,
            xpAward = Cooking:10,
            needToBeLearn = true,
            AutoLearnAny = Cooking:7,

            inputs
            {
                item 1 tags[base:mixingutensil] mode:keep flags[MayDegradeVeryLight],
                item 1 [Base.Bowl;Base.ClayBowl] mode:keep,
                item 1 [Base.MuffinTray],
                item 2 tags[base:egg] flags[IsUncookedFoodItem;InheritFoodAge;ItemCount],
                item 6 tags[base:bakingfat],
                item 5 [Base.Sugar],
                item 5 [Base.Cornflour2],
                item 5 [Base.Cornmeal2],

                item 1 [*],
                    -fluid 1.0 [CowMilk],
            }

            outputs
            {
                item 1 VFX.CornMuffinBatter,
            }
        }

        craftRecipe VFX_PrepareLemonPoppyMuffins
        {
            timedAction = VFX.BowlMixing,
            time = 50,
            category = Cooking,
            Tags = AnySurfaceCraft;Cooking,
            Tooltip = Tooltip_Recipe_RequireWholeEggs,
            xpAward = Cooking:10,
            needToBeLearn = true,
            AutoLearnAny = Cooking:7,

            inputs
            {
                item 1 tags[base:mixingutensil] mode:keep flags[MayDegradeVeryLight],
                item 1 [Base.CheeseGrater] mode:keep,
                item 1 [Base.Bowl;Base.ClayBowl] mode:keep,
                item 1 [Base.MuffinTray],
                item 2 tags[base:egg] flags[IsUncookedFoodItem;InheritFoodAge;ItemCount],
                item 6 tags[base:bakingfat],
                item 5 [Base.Sugar],
                item 6 [Base.Flour2],

                item 1 [Base.Lemon] flags[ItemCount],
                item 1 [Base.PoppySeed] flags[ItemCount],
                item 1 [*],
                    -fluid 1.0 [CowMilk],
            }

            outputs
            {
                item 1 VFX.LemonPoppyMuffinBatter,
            }
        }

    /**** Brownies ****/

        craftRecipe VFX_MakeBrownieBatter
        {
            timedAction = VFX.BowlMixing,
            time = 50,
            category = Cooking,
            Tags = AnySurfaceCraft;Cooking,
            Tooltip = Tooltip_Recipe_RequireWholeEggs,
            xpAward = Cooking:3,

            inputs
            {
                item 1 tags[base:mixingutensil] mode:keep flags[MayDegradeVeryLight],
                item 1 [Base.Bowl;Base.ClayBowl] flags[ItemCount],
                item 1 [VFX.BrownieMix] flags[ItemCount],
                item 15 tags[base:bakingfat],
                item 2 tags[base:egg] flags[IsUncookedFoodItem;InheritFoodAge;ItemCount],
            }

            outputs
            {
                item 1 VFX.BrownieBatter,
            }
        }

        craftRecipe VFX_PrepareBrownieTray
        {
            timedAction = VFX.BowlMixing,
            time = 60,
            category = Cooking,
            Tags = AnySurfaceCraft;Cooking,
            xpAward = Cooking:3,

            inputs
            {
                item 1 [Base.BakingTray],
                item 1 [VFX.BrownieBatter] flags[InheritFoodAge],
            }

            outputs
            {
                item 1 VFX.BrowniePrep,
                item 1 Base.Bowl,
            }
        }

        craftRecipe VFX_GetBrowniesFromTray
        {
            timedAction = VFX.TakeBrownies,
            time = 60,
            category = Cooking,
            Tags = AnySurfaceCraft;Cooking,
            ToolTip = Tooltip_Recipe_MustCookedGet,

            inputs
            {
                item 1 [VFX.BrowniePrep] flags[IsCookedFoodItem;InheritFoodAge;ItemCount],
                item 1 tags[base:sharpknife;base:dullknife;base:meatcleaver] mode:keep flags[MayDegradeLight],
            }

            outputs
            {
                item 6 VFX.Brownie,
                item 1 Base.BakingTray,
            }
        }

        craftRecipe VFX_PrepareBrownies
        {
            timedAction = VFX.BowlMixing,
            time = 50,
            category = Cooking,
            Tags = AnySurfaceCraft;Cooking,
            Tooltip = Tooltip_Recipe_RequireWholeEggs,
            xpAward = Cooking:10,
            needToBeLearn = true,
            AutoLearnAny = Cooking:5,

            inputs
            {
                item 1  tags[base:mixingutensil] mode:keep flags[MayDegradeVeryLight],
                item 1  [Base.Bowl;Base.ClayBowl] mode:keep,
                item 2  tags[base:egg] flags[IsUncookedFoodItem;InheritFoodAge;ItemCount],
                item 15 tags[base:bakingfat],
                item 5  [Base.Sugar],
                item 15 [Base.Flour2],
                item 15 [Base.CocoaPowder],
                item 1  [Base.ChocolateChips] flags[ItemCount],
                item 1  [VFX.VanillaExtract],
            }

            outputs
            {
                item 1 VFX.BrownieBatter,
            }
        }

    /**** Cookies ****/

        craftRecipe VFX_MakeCookieDough
        {
            timedAction = VFX.BowlMixing,
            time = 50,
            category = Cooking,
            Tags = AnySurfaceCraft;Cooking,
            Tooltip = Tooltip_Recipe_RequireWholeEggs,
            xpAward = Cooking:3,

            inputs
            {
                item 1 tags[base:rollingpin] mode:keep flags[MayDegrade],
                item 1 tags[base:mixingutensil] mode:keep flags[MayDegradeVeryLight],
                item 1 [Base.Bowl;Base.ClayBowl] flags[ItemCount],
                item 1 [Base.BakingTray],
                item 1 [VFX.SugarCookieMix;VFX.ShortbreadCookieMix;VFX.PeanutButterCookieMix;VFX.GingerbreadCookieMix;VFX.SnickerdoodleCookieMix;VFX.ChocolateChipCookieMix;VFX.ChocolateCookieMix;VFX.OatmealCookieMix] mappers[CookieDoughType] flags[ItemCount],
                item 15 tags[base:bakingfat],
                item 1 tags[base:egg] flags[IsUncookedFoodItem;InheritFoodAge;ItemCount],
            }

            outputs
            {
                item 1 mapper:CookieDoughType,
            }

            itemMapper CookieDoughType
            {
                Base.CookieChocolateChipDough = VFX.ChocolateChipCookieMix,
                Base.CookiesChocolateDough = VFX.ChocolateCookieMix,
                Base.CookiesOatmealDough = VFX.OatmealCookieMix,
                Base.CookiesSugarDough = VFX.SugarCookieMix,
                Base.CookiesShortbreadDough = VFX.ShortbreadCookieMix,
                VFX.PeanutButterCookieDough = VFX.PeanutButterCookieMix,
                VFX.GingerbreadCookieDough = VFX.GingerbreadCookieMix,
                VFX.SnickerdoodleCookieDough = VFX.SnickerdoodleCookieMix,
            }
        }

        craftRecipe VFX_Get6Cookies
        {
            timedAction = VFX.TakeCookies,
            time = 60,
            category = Cooking,
            Tags = InHandCraft;Cooking,
            ToolTip = Tooltip_Recipe_MustCookedGet,

            inputs
            {
                item 1 [VFX.PeanutButterCookieDough;VFX.GingerbreadCookieDough;VFX.SnickerdoodleCookieDough] mappers[CookieType] flags[IsCookedFoodItem;InheritFoodAge;ItemCount],
            }

            outputs
            {
                item 6 mapper:CookieType,
                item 1 Base.BakingTray,
            }

            itemMapper CookieType
            {
                VFX.CookiesPeanutButter = VFX.PeanutButterCookieDough,
                VFX.CookiesGingerbread = VFX.GingerbreadCookieDough,
                VFX.CookiesSnickerdoodle = VFX.SnickerdoodleCookieDough,
            }
        }

        craftRecipe VFX_PreparePeanutButterCookieDough
        {
            timedAction = VFX.BowlMixing,
            time = 40,
            category = Cooking,
            Tags = AnySurfaceCraft;Cooking,
            Tooltip = Tooltip_Recipe_RequireWholeEggs,
            xpAward = Cooking:10,
            needToBeLearn = true,
            AutoLearnAny = Cooking:7,

            inputs
            {
                item 1  tags[base:rollingpin] mode:keep flags[MayDegrade],
                item 1  tags[base:mixingutensil] mode:keep flags[MayDegradeVeryLight],
                item 1  [Base.Bowl;Base.ClayBowl] mode:keep,
                item 1  [Base.BakingTray],
                item 5  tags[base:bakingfat],
                item 10 tags[base:sugar],
                item 2  tags[base:egg] flags[IsUncookedFoodItem;InheritFoodAge;ItemCount],
                item 1  [Base.BakingSoda],
                item 10 tags[base:flour],

                item 8  [Base.PeanutButter],
                item 1  [*],
                    -fluid 1.0 [Water],
            }

            outputs
            {
                item 1 VFX.PeanutButterCookieDough,
            }
        }

        craftRecipe VFX_PrepareGingerbreadCookieDough
        {
            timedAction = VFX.BowlMixing,
            time = 40,
            category = Cooking,
            Tags = AnySurfaceCraft;Cooking,
            Tooltip = Tooltip_Recipe_RequireWholeEggs,
            xpAward = Cooking:10,
            needToBeLearn = true,
            AutoLearnAny = Cooking:7,

            inputs
            {
                item  1 tags[base:rollingpin] mode:keep flags[MayDegrade],
                item  1 tags[base:mixingutensil] mode:keep flags[MayDegradeVeryLight],
                item  1 [Base.Bowl;Base.ClayBowl] mode:keep,
                item  1 [Base.BakingTray],
                item  5 tags[base:bakingfat],
                item 10 tags[base:sugar],
                item  2 tags[base:egg] flags[IsUncookedFoodItem;InheritFoodAge;ItemCount],
                item  1 [Base.BakingSoda],
                item 10 tags[base:flour],

                item  2 [Base.GingerRoot],
                item  1 [Base.Cinnamon],
                item  1 [VFX.Cloves],
                item  1 [VFX.Nutmeg],
                item  1 [*],
                    -fluid 1.0 [Water],
            }

            outputs
            {
                item 1 VFX.GingerbreadCookieDough,
            }
        }

        craftRecipe VFX_PrepareSnickerdoodleCookieDough
        {
            timedAction = VFX.BowlMixing,
            time = 40,
            category = Cooking,
            Tags = AnySurfaceCraft;Cooking,
            Tooltip = Tooltip_Recipe_RequireWholeEggs,
            xpAward = Cooking:10,
            needToBeLearn = true,
            AutoLearnAny = Cooking:7,

            inputs
            {
                item 1  tags[base:rollingpin] mode:keep flags[MayDegrade],
                item 1  tags[base:mixingutensil] mode:keep flags[MayDegradeVeryLight],
                item 1  [Base.Bowl;Base.ClayBowl] mode:keep,
                item 1  [Base.BakingTray],
                item 5  tags[base:bakingfat],
                item 10 tags[base:sugar],
                item 2  tags[base:egg] flags[IsUncookedFoodItem;InheritFoodAge;ItemCount],
                item 1  [Base.BakingSoda],
                item 10 tags[base:flour],
                
                item 2  [Base.Cinnamon],
                item 1  [VFX.VanillaExtract],
                item 1  [*],
                    -fluid 1.0 [Water],
            }

            outputs
            {
                item 1 VFX.SnickerdoodleCookieDough,
            }
        }

    /**** Dessert Bread ****/

        craftRecipe VFX_PrepareDessertBread
        {
            timedAction = VFX.BowlMixing,
            time = 50,
            category = Cooking,
            Tags = AnySurfaceCraft;Cooking,
            Tooltip = Tooltip_Recipe_RequireWholeEggs,
            xpAward = Cooking:3,

            inputs
            {
                item 1  tags[base:mixingutensil] mode:keep flags[MayDegradeVeryLight],
                item 1  [Base.Bowl;Base.ClayBowl] mode:keep,
                item 10 tags[base:bakingfat],
                item 1  tags[base:egg] flags[IsUncookedFoodItem;InheritFoodAge;ItemCount],
                item 1  [VFX.BananaBreadMix;VFX.PumpkinBreadMix;VFX.ChocolateSwirlBreadMix;VFX.CinnamonSwirlBreadMix;VFX.CranberryBreadMix] mappers[DessertBreadType] flags[ItemCount],
                item 1  [*],
                    -fluid 0.5 [CowMilk],
            }

            outputs
            {
                item 1 mapper:DessertBreadType,
            }

            itemMapper DessertBreadType
            {
                VFX.BananaBreadPrep = VFX.BananaBreadMix,
                VFX.PumpkinBreadPrep = VFX.PumpkinBreadMix,
                VFX.ChocolateSwirlBreadPrep = VFX.ChocolateSwirlBreadMix,
                VFX.CinnamonSwirlBreadPrep = VFX.CinnamonSwirlBreadMix,
                VFX.CranberryBreadPrep = VFX.CranberryBreadMix,
            }
        }

        craftRecipe VFX_SliceDessertBread
        {
            timedAction = SliceFood_Surface,
            time = 20,
            category = Cooking,
            Tags = AnySurfaceCraft;Cooking,
            xpAward = Cooking:3,
            Tooltip = Tooltip_Recipe_MustCookedGet,

            inputs
            {
                item 1 tags[base:sharpknife;base:dullknife;base:meatcleaver] mode:keep flags[MayDegradeLight],
                item 1 [VFX.BananaBreadPrep;VFX.PumpkinBreadPrep;VFX.ChocolateSwirlBreadPrep;VFX.CinnamonSwirlBreadPrep;VFX.CranberryBreadPrep] mappers[DessertBreadSliceType] flags[IsCookedFoodItem;InheritFoodAge;ItemCount],
            }

            outputs
            {
                item 5 mapper:DessertBreadSliceType,
            }

            itemMapper DessertBreadSliceType
            {
                VFX.BananaBreadSlice = VFX.BananaBreadPrep,
                VFX.PumpkinBreadSlice = VFX.PumpkinBreadPrep,
                VFX.ChocolateSwirlBreadSlice = VFX.ChocolateSwirlBreadPrep,
                VFX.CinnamonSwirlBreadSlice = VFX.CinnamonSwirlBreadPrep,
                VFX.CranberryBreadSlice = VFX.CranberryBreadPrep,
            }
        }

        craftRecipe VFX_PrepareBananaBread
        {
            timedAction = VFX.BowlMixing,
            time = 50,
            category = Cooking,
            Tags = AnySurfaceCraft;Cooking,
            Tooltip = Tooltip_Recipe_RequireWholeEggs,
            xpAward = Cooking:10,
            needToBeLearn = true,
            AutoLearnAny = Cooking:6,

            inputs
            {
                item 1  tags[base:mixingutensil] mode:keep flags[MayDegradeVeryLight],
                item 1  [Base.Bowl;Base.ClayBowl] mode:keep,
                item 1  [Base.RollingPin] mode:keep flags[MayDegrade],
                item 10 tags[base:flour],
                item 10 tags[base:bakingfat],
                item 2  tags[base:egg] flags[IsUncookedFoodItem;InheritFoodAge;ItemCount],
                item 1  [Base.Yeast],
                item 15 [Base.Sugar],
                item 2  [Base.Banana] flags[ItemCount],
                item 15 [Base.SugarBrown],
                item 2  [Base.Cinnamon],
            }

            outputs
            {
                item 1 VFX.BananaBreadPrep,
            }
        }

        craftRecipe VFX_PreparePumpkinBread
        {
            timedAction = VFX.BowlMixing,
            time = 50,
            category = Cooking,
            Tags = AnySurfaceCraft;Cooking,
            Tooltip = Tooltip_Recipe_RequireWholeEggs,
            xpAward = Cooking:10,
            needToBeLearn = true,
            AutoLearnAny = Cooking:6,

            inputs
            {
                item 1  tags[base:mixingutensil] mode:keep flags[MayDegradeVeryLight],
                item 1  [Base.Bowl;Base.ClayBowl] mode:keep,
                item 1  [Base.RollingPin] mode:keep flags[MayDegrade],
                item 10 tags[base:flour],
                item 10 tags[base:bakingfat],
                item 2  tags[base:egg] flags[IsUncookedFoodItem;InheritFoodAge;ItemCount],
                item 1  [Base.Yeast],
                item 15 [Base.Sugar],
                item 1  [VFX.PumpkinSmashed] flags[ItemCount],
                item 2  [Base.Cinnamon],
                item 2  [VFX.Nutmeg],
                item 2  [VFX.Cloves],
            }

            outputs
            {
                item 1 VFX.PumpkinBreadPrep,
            }
        }

        craftRecipe VFX_PrepareChocolateSwirlBread
        {
            timedAction = VFX.BowlMixing,
            time = 50,
            category = Cooking,
            Tags = AnySurfaceCraft;Cooking,
            Tooltip = Tooltip_Recipe_RequireWholeEggs,
            xpAward = Cooking:10,
            needToBeLearn = true,
            AutoLearnAny = Cooking:6,

            inputs
            {
                item 1  tags[base:mixingutensil] mode:keep flags[MayDegradeVeryLight],
                item 1  [Base.Bowl;Base.ClayBowl] mode:keep,
                item 1  [Base.RollingPin] mode:keep flags[MayDegrade],
                item 10 tags[base:flour],
                item 10 tags[base:bakingfat],
                item 2  tags[base:egg] flags[IsUncookedFoodItem;InheritFoodAge;ItemCount],
                item 1  [Base.Yeast],
                item 15 [Base.Sugar],
                item 2  [VFX.VanillaExtract],
                item 15 [VFX.CocoaPowder],
                item 1  [Base.Chocolate;Base.ChocolateChips] flags[ItemCount],

                item 1  [*],
                    -fluid 0.2 [CowMilk],
            }

            outputs
            {
                item 1 VFX.ChocolateSwirlBreadPrep,
            }
        }

        craftRecipe VFX_PrepareCinnamonSwirlBread
        {
            timedAction = VFX.BowlMixing,
            time = 50,
            category = Cooking,
            Tags = AnySurfaceCraft;Cooking,
            Tooltip = Tooltip_Recipe_RequireWholeEggs,
            xpAward = Cooking:10,
            needToBeLearn = true,
            AutoLearnAny = Cooking:6,

            inputs
            {
                item 1  tags[base:mixingutensil] mode:keep flags[MayDegradeVeryLight],
                item 1  [Base.Bowl;Base.ClayBowl] mode:keep,
                item 1  [Base.RollingPin] mode:keep flags[MayDegrade],
                item 10 tags[base:flour],
                item 10 tags[base:bakingfat],
                item 2  tags[base:egg] flags[IsUncookedFoodItem;InheritFoodAge;ItemCount],
                item 1  [Base.Yeast],
                item 15 [Base.Sugar],
                item 2  [VFX.VanillaExtract],
                item 2  [Base.Cinnamon] flags[ItemCount],

                item 1 [*],
                    -fluid 0.2 [CowMilk],
            }

            outputs
            {
                item 1 VFX.CinnamonSwirlBreadPrep,
            }
        }

        craftRecipe VFX_PrepareCranberryBread
        {
            timedAction = VFX.BowlMixing,
            time = 50,
            category = Cooking,
            Tags = AnySurfaceCraft;Cooking,
            Tooltip = Tooltip_Recipe_RequireWholeEggs,
            xpAward = Cooking:10,
            needToBeLearn = true,
            AutoLearnAny = Cooking:6,

            inputs
            {
                item 1  tags[base:mixingutensil] mode:keep flags[MayDegradeVeryLight],
                item 1  [Base.Bowl;Base.ClayBowl] mode:keep,
                item 1  [Base.RollingPin] mode:keep flags[MayDegrade],
                item 10 tags[base:flour],
                item 10 tags[base:bakingfat],
                item 2  tags[base:egg] flags[IsUncookedFoodItem;InheritFoodAge;ItemCount],
                item 1  [Base.Yeast],
                item 15 [Base.Sugar],
                item 10 [VFX.Cranberries] flags[ItemCount],
                item 1  [VFX.VanillaExtract],
                item 1  [*],
                    -fluid 0.2 [CowMilk],
            }

            outputs
            {
                item 1 VFX.CranberryBreadPrep,
            }
        }

    /**** Biscuits ****/

        craftRecipe VFX_PrepareBiscuits
        {
            timedAction = VFX.BowlMixing,
            time = 50,
            category = Cooking,
            Tags = AnySurfaceCraft;Cooking,
            xpAward = Cooking:3,

            inputs
            {
                item 1 tags[base:mixingutensil] mode:keep flags[MayDegradeVeryLight],
                item 1 [Base.Bowl;Base.ClayBowl] flags[ItemCount],
                item 1 [Base.BakingTray] flags[ItemCount],
                item 1 [VFX.CheddarBiscuitMix;VFX.HomestyleBiscuitMix] mappers[BiscuitTrayType] flags[ItemCount],
                item 1 [*],
                    -fluid 0.5 [CowMilk],
            }

            outputs
            {
                item 1 mapper:BiscuitTrayType,
            }

            itemMapper BiscuitTrayType
            {
                VFX.CheddarBiscuitPrep = VFX.CheddarBiscuitMix,
                VFX.HomestyleBiscuitPrep = VFX.HomestyleBiscuitMix,
            }
        }

        craftRecipe VFX_Get6Biscuits
        {
            timedAction = VFX.TakeCookies,
            time = 60,
            ToolTip = Tooltip_Recipe_MustCookedGet,
            category = Cooking,
            Tags = InHandCraft;Cooking,

            inputs
            {
                item 1 [VFX.CheddarBiscuitPrep;VFX.HomestyleBiscuitPrep] mappers[BiscuitType] flags[IsCookedFoodItem;InheritFoodAge;ItemCount],
            }

            outputs
            {
                item 6 mapper:BiscuitType,
                item 1 Base.BakingTray,
            }

            itemMapper BiscuitType
            {
                VFX.CheddarBiscuit = VFX.CheddarBiscuitPrep,
                VFX.HomestyleBiscuit = VFX.HomestyleBiscuitPrep,
            }
        }

        craftRecipe VFX_PrepareCheddarBiscuits
        {
            timedAction = VFX.BowlMixing,
            time = 40,
            category = Cooking,
            Tags = AnySurfaceCraft;Cooking,
            xpAward = Cooking:10,
            needToBeLearn = true,
            AutoLearnAny = Cooking:7,

            inputs
            {
                item 1  tags[base:mixingutensil] mode:keep flags[MayDegradeVeryLight],
                item 1  [Base.Bowl;Base.ClayBowl] flags[ItemCount],
                item 1  [Base.BakingTray] flags[ItemCount],
                item 15 tags[base:flour],
                item 1  [VFX.BakingPowder],
                item 1  [Base.BakingSoda],
                item 1  tags[base:sugar],
                item 1  [Base.Salt],
                item 12 [Base.Butter],
                item 1  [Base.Cheese] flags[ItemCount],
                item 1  [*],
                    -fluid 0.3 [CowMilk],
            }

            outputs
            {
                item 1 VFX.CheddarBiscuitPrep,
            }
        }

        craftRecipe VFX_PrepareHomestyleBiscuits
        {
            timedAction = VFX.BowlMixing,
            time = 40,
            category = Cooking,
            Tags = AnySurfaceCraft;Cooking,
            xpAward = Cooking:10,
            needToBeLearn = true,
            AutoLearnAny = Cooking:7,

            inputs
            {
                item 1  tags[base:mixingutensil] mode:keep flags[MayDegradeVeryLight],
                item 1  [Base.Bowl;Base.ClayBowl] flags[ItemCount],
                item 1  [Base.BakingTray] flags[ItemCount],
                item 15 tags[base:flour],
                item 1  [VFX.BakingPowder],
                item 1  [Base.BakingSoda],
                item 1  tags[base:sugar],
                item 1  [Base.Salt],
                item 12 [Base.Butter],
                item 1  [*],
                    -fluid 0.3 [CowMilk],
            }

            outputs
            {
                item 1 VFX.HomestyleBiscuitPrep,
            }
        }

    /**** Pudding Mix ****/

        craftRecipe VFX_PreparePuddingMix
        {
            timedAction = VFX.BowlMixing,
            Time = 50,
            category = Cooking,
            Tags = AnySurfaceCraft;Cooking,
            xpAward = Cooking:3,

            inputs
            {
                item 1 [Base.Bowl;Base.ClayBowl],
                item 1 [VFX.VanillaPuddingMix;VFX.CustardPuddingMix;VFX.BananaCreamPuddingMix;VFX.ButterscotchPuddingMix;VFX.PistachioPuddingMix;VFX.ChocolateMousseMix] mappers[PuddingType] mode:destroy,
                item 1 [*],
                    -fluid 0.5 [CowMilk],
            }

            outputs
            {
                item 2 mapper:PuddingType,
            }

            itemMapper PuddingType
            {
                VFX.BowlVanillaPudding = VFX.VanillaPuddingMix,
                VFX.BowlCustardPudding = VFX.CustardPuddingMix,
                VFX.BowlBananaCreamPudding = VFX.BananaCreamPuddingMix,
                VFX.BowlButterscotchPudding = VFX.ButterscotchPuddingMix,
                VFX.BowlPistachioPudding = VFX.PistachioPuddingMix,
                VFX.BowlChocolateMousse = VFX.ChocolateMousseMix,
            }
        }

    /**** Frosting ****/

        craftRecipe VFX_PrepareCaramelFrosting
        {
            timedAction = VFX.BowlMixing,
            time = 50,
            category = Cooking,
            Tags = AnySurfaceCraft;Cooking,
            xpAward = Cooking:5,
            needToBeLearn = true,
            AutoLearnAny = Cooking:5,

            inputs
            {
                item 1 tags[base:mixingutensil] mode:keep flags[MayDegradeVeryLight],
                item 1  [Base.Bowl;Base.ClayBowl] mode:keep,
                item 5  [Base.Butter],
                item 5  [Base.SugarBrown],
                item 15 [VFX.PowderedSugar],
                item 1  [VFX.VanillaExtract],
                item 1  [*],
                    -fluid 0.2 [CowMilk],
            }

            outputs
            {
                item 1 VFX.CaramelFrosting,
            }
        }

        craftRecipe VFX_PrepareChocolateFrosting
        {
            timedAction = VFX.BowlMixing,
            time = 50,
            category = Cooking,
            Tags = AnySurfaceCraft;Cooking,
            xpAward = Cooking:5,
            needToBeLearn = true,
            AutoLearnAny = Cooking:5,

            inputs
            {
                item 1 tags[base:mixingutensil] mode:keep flags[MayDegradeVeryLight],
                item 1  [Base.Bowl;Base.ClayBowl] mode:keep,
                item 10 [Base.Butter],
                item 10 [VFX.CocoaPowder],
                item 15 [VFX.PowderedSugar],
                item 1  [VFX.VanillaExtract],
                item 1  [*],
                    -fluid 0.2 [CowMilk],
            }

            outputs
            {
                item 1 VFX.ChocolateFrosting,
            }
        }

        craftRecipe VFX_PrepareLemonFrosting
        {
            timedAction = VFX.BowlMixing,
            time = 50,
            category = Cooking,
            Tags = AnySurfaceCraft;Cooking,
            xpAward = Cooking:5,
            needToBeLearn = true,
            AutoLearnAny = Cooking:5,

            inputs
            {
                item 1 tags[base:mixingutensil] mode:keep flags[MayDegradeVeryLight],
                item 1  [Base.Bowl;Base.ClayBowl] mode:keep,
                item 5  [Base.Butter],
                item 12 [VFX.LemonJuice],
                item 15 [VFX.PowderedSugar],
            }

            outputs
            {
                item 1 VFX.LemonFrosting,
            }
        }

        craftRecipe VFX_PrepareStrawberryFrosting
        {
            timedAction = VFX.BowlMixing,
            time = 50,
            category = Cooking,
            Tags = AnySurfaceCraft;Cooking,
            xpAward = Cooking:5,
            needToBeLearn = true,
            AutoLearnAny = Cooking:5,

            inputs
            {
                item 1 tags[base:mixingutensil] mode:keep flags[MayDegradeVeryLight],
                item 1  [Base.Bowl;Base.ClayBowl] mode:keep,
                item 5  [Base.Strewberrie] flags[ItemCount],
                item 10 [Base.Butter],
                item 15 [VFX.PowderedSugar],
                item 1  [VFX.VanillaExtract],
            }

            outputs
            {
                item 1 VFX.StrawberryFrosting,
            }
        }

        craftRecipe VFX_PrepareCreamCheeseFrosting
        {
            timedAction = VFX.BowlMixing,
            time = 50,
            category = Cooking,
            Tags = AnySurfaceCraft;Cooking,
            xpAward = Cooking:5,
            needToBeLearn = true,
            AutoLearnAny = Cooking:5,

            inputs
            {
                item 1 tags[base:mixingutensil] mode:keep flags[MayDegradeVeryLight],
                item 1  [Base.Bowl;Base.ClayBowl] mode:keep,
                item 1  [VFX.CreamCheese] flags[ItemCount],
                item 10 [Base.Butter],
                item 15 [VFX.PowderedSugar],
                item 1  [VFX.VanillaExtract],
            }

            outputs
            {
                item 1 VFX.CreamCheeseFrosting,
            }
        }

        craftRecipe VFX_PrepareConfettiFrosting
        {
            timedAction = VFX.BowlMixing,
            time = 50,
            category = Cooking,
            Tags = AnySurfaceCraft;Cooking,
            xpAward = Cooking:5,
            needToBeLearn = true,
            AutoLearnAny = Cooking:5,

            inputs
            {
                item 1 tags[base:mixingutensil] mode:keep flags[MayDegradeVeryLight],
                item 1  [Base.Bowl;Base.ClayBowl] mode:keep,
                item 5  [Base.Butter],
                item 15 [VFX.PowderedSugar],
                item 1  [VFX.VanillaExtract],
                item 1  [VFX.Sprinkles] flags[ItemCount],
                item 1  [*],
                    -fluid 0.2 [CowMilk],
            }

            outputs
            {
                item 1 VFX.ConfettiFrosting,
            }
        }

        craftRecipe VFX_PrepareVanillaFrosting
        {
            timedAction = VFX.BowlMixing,
            time = 50,
            category = Cooking,
            Tags = AnySurfaceCraft;Cooking,
            xpAward = Cooking:5,
            needToBeLearn = true,
            AutoLearnAny = Cooking:5,

            inputs
            {
                item 1  tags[base:mixingutensil] mode:keep flags[MayDegradeLight],
                item 1  [Base.Bowl;Base.ClayBowl] mode:keep,
                item 5  [Base.Butter],
                item 15 [VFX.PowderedSugar],
                item 2  [VFX.VanillaExtract],
                item 1  [*],
                    -fluid 0.2 [CowMilk],
            }

            outputs
            {
                item 1 Base.Icing,
            }
        }

    /**** Pies ****/

        craftRecipe VFX_SliceBakingPie
        {
            time = 40,
            timedAction = SliceFood_Surface,
            tags = AnySurfaceCraft,
            category = Cooking,

            inputs
            {
                item 1 tags[base:sharpknife] mode:keep flags[MayDegrade],
                item 1 [VFX.WholePieApple;VFX.WholePieCherry;VFX.WholePieBlueberry;VFX.WholePieStrawberry;VFX.WholePiePeach;VFX.WholePieMixedBerry;VFX.WholePieLemonCream;VFX.WholePieBlackberry;VFX.WholePieRaspberry;VFX.WholePiePumpkin;VFX.WholePieSweetPotato;VFX.WholePiePecan] mappers[PieType] flags[InheritCooked;InheritFood;InheritFoodAge;IsCookedFoodItem;ItemCount;Prop2] mode:destroy,
            }

            outputs
            {
                item 5 mapper:PieType,
                item 1 Base.BakingPan,
            }

            itemMapper PieType
            {
                VFX.SlicePieApple = VFX.WholePieApple,
                VFX.SlicePieCherry = VFX.WholePieCherry,
                VFX.SlicePieBlueberry = VFX.WholePieBlueberry,
                VFX.SlicePieStrawberry = VFX.WholePieStrawberry,
                VFX.SlicePiePeach = VFX.WholePiePeach,
                VFX.SlicePieMixedBerry = VFX.WholePieMixedBerry,
                VFX.SlicePieLemonCream = VFX.WholePieLemonCream,
                VFX.SlicePieBlackberry = VFX.WholePieBlackberry,
                VFX.SlicePieRaspberry = VFX.WholePieRaspberry,
                VFX.SlicePiePumpkin = VFX.WholePiePumpkin,
                VFX.SlicePieSweetPotato = VFX.WholePieSweetPotato,
                VFX.SlicePiePecan = VFX.WholePiePecan,
            }
        }

        craftRecipe VFX_PreparePieFilling
        {
            timedAction = VFX.MixingBowl,
            time = 80,
            tags = AnySurfaceCraft;Cooking,
            category = Cooking,

            needToBeLearn = true,
            AutoLearnAny = Cooking:2,
            xpAward = Cooking:5,

            inputs
            {
                item 1 tags[base:rollingpin] mode:keep flags[MayDegrade],
                item 1 tags[base:mixingutensil] mode:keep flags[MayDegradeVeryLight],
                item 1 [Base.BakingPan] flags[InheritCondition],
                item 1 [Base.PieDough] flags[ItemCount;InheritFoodAge],
                item 2 [VFX.CannedApplePieFillingOpen;VFX.CannedCherryPieFillingOpen;VFX.CannedBlueberryPieFillingOpen;VFX.CannedStrawberryPieFillingOpen;VFX.CannedPeachPieFillingOpen;VFX.CannedMixedBerryPieFillingOpen;VFX.CannedLemonCreamPieFillingOpen;VFX.CannedBlackberryPieFillingOpen;VFX.CannedRaspberryPieFillingOpen] mappers[PieType] flags[ItemCount;InheritFoodAge],
            }

            outputs
            {
                item 1 mapper:PieType,
            }

            itemMapper PieType
            {
                VFX.WholePieApple = VFX.CannedApplePieFillingOpen,
                VFX.WholePieCherry = VFX.CannedCherryPieFillingOpen,
                VFX.WholePieBlueberry = VFX.CannedBlueberryPieFillingOpen,
                VFX.WholePieStrawberry = VFX.CannedStrawberryPieFillingOpen,
                VFX.WholePiePeach = VFX.CannedPeachPieFillingOpen,
                VFX.WholePieMixedBerry = VFX.CannedMixedBerryPieFillingOpen,
                VFX.WholePieLemonCream = VFX.CannedLemonCreamPieFillingOpen,
                VFX.WholePieBlackberry = VFX.CannedBlackberryPieFillingOpen,
                VFX.WholePieRaspberry = VFX.CannedRaspberryPieFillingOpen,
            }
        }

        craftRecipe VFX_PrepareApplePie
        {
            timedAction = VFX.MixingBowl,
            time = 80,
            tags = AnySurfaceCraft;Cooking,
            category = Cooking,

            needToBeLearn = true,
            AutoLearnAny = Cooking:7,
            xpAward = Cooking:10,

            inputs
            {
                item 1 tags[base:rollingpin] mode:keep flags[MayDegrade],
                item 1 tags[base:mixingutensil] mode:keep flags[MayDegradeVeryLight],
                item 1 tags[base:sharpknife;base:dullknife;base:meatcleaver] mode:keep flags[MayDegradeVeryLight],
                item 1 [Base.BakingPan] mode:destroy flags[InheritCondition],
                item 1 [Base.PieDough] flags[ItemCount;InheritFoodAge],

                item 1 [4:Base.Apple;2:VFX.CannedAppleSlicesOpen] flags[ItemCount;InheritFoodAge],
                item 10 tags[base:sugar],
                item 5 [Base.Butter],
                item 1 [Base.Cinnamon],
            }

            outputs
            {
                item 1 VFX.WholePieApple,
            }
        }

        craftRecipe VFX_PrepareCherryPie
        {
            timedAction = VFX.MixingBowl,
            time = 80,
            tags = AnySurfaceCraft;Cooking,
            category = Cooking,

            needToBeLearn = true,
            AutoLearnAny = Cooking:7,
            xpAward = Cooking:10,

            inputs
            {
                item 1 tags[base:rollingpin] mode:keep flags[MayDegrade],
                item 1 tags[base:mixingutensil] mode:keep flags[MayDegradeVeryLight],
                item 1 tags[base:sharpknife;base:dullknife;base:meatcleaver] mode:keep flags[MayDegradeVeryLight],
                item 1 [Base.BakingPan] mode:destroy flags[InheritCondition],
                item 1 [Base.PieDough] flags[ItemCount;InheritFoodAge],

                item 1 [12:Base.Cherry;1:VFX.JarCherryOpen] flags[ItemCount;InheritFoodAge],
                item 10 tags[base:sugar],
                item 5 [Base.Butter],
            }

            outputs
            {
                item 1 VFX.WholePieCherry,
            }
        }

        craftRecipe VFX_PrepareBlueberryPie
        {
            timedAction = VFX.MixingBowl,
            time = 80,
            tags = AnySurfaceCraft;Cooking,
            category = Cooking,

            needToBeLearn = true,
            AutoLearnAny = Cooking:7,
            xpAward = Cooking:10,

            inputs
            {
                item 1 tags[base:rollingpin] mode:keep flags[MayDegrade],
                item 1 tags[base:mixingutensil] mode:keep flags[MayDegradeVeryLight],
                item 1 tags[base:sharpknife;base:dullknife;base:meatcleaver] mode:keep flags[MayDegradeVeryLight],
                item 1 [Base.BakingPan] flags[InheritCondition],
                item 1 [Base.PieDough] flags[ItemCount;InheritFoodAge],

                item 1 [12:Base.BerryBlue;2:VFX.PunnetBlueberries;2:VFX.Blueberries] flags[AllowFrozenItem;ItemCount;InheritFoodAge],
                item 10 tags[base:sugar],
                item 5 [Base.Butter],
            }

            outputs
            {
                item 1 VFX.WholePieBlueberry,
            }
        }

        craftRecipe VFX_PrepareStrawberryPie
        {
            timedAction = VFX.MixingBowl,
            time = 80,
            tags = AnySurfaceCraft;Cooking,
            category = Cooking,

            needToBeLearn = true,
            AutoLearnAny = Cooking:7,
            xpAward = Cooking:10,

            inputs
            {
                item 1 tags[base:rollingpin] mode:keep flags[MayDegrade],
                item 1 tags[base:mixingutensil] mode:keep flags[MayDegradeVeryLight],
                item 1 tags[base:sharpknife;base:dullknife;base:meatcleaver] mode:keep flags[MayDegradeVeryLight],
                item 1 [Base.BakingPan] flags[InheritCondition],
                item 1 [Base.PieDough] flags[ItemCount;InheritFoodAge],

                item 1 [12:Base.Strewberrie;2:VFX.WholeStrawberries;2:VFX.SlicedStrawberries] flags[AllowFrozenItem;ItemCount;InheritFoodAge],
                item 10 tags[base:sugar],
                item 5 [Base.Butter],
                item 2 tags[base:flour],
            }

            outputs
            {
                item 1 VFX.WholePieStrawberry,
            }
        }

        craftRecipe VFX_PreparePeachPie
        {
            timedAction = VFX.MixingBowl,
            time = 80,
            tags = AnySurfaceCraft;Cooking,
            category = Cooking,

            needToBeLearn = true,
            AutoLearnAny = Cooking:7,
            xpAward = Cooking:10,

            inputs
            {
                item 1 tags[base:rollingpin] mode:keep flags[MayDegrade],
                item 1 tags[base:mixingutensil] mode:keep flags[MayDegradeVeryLight],
                item 1 tags[base:sharpknife;base:dullknife;base:meatcleaver] mode:keep flags[MayDegradeVeryLight],
                item 1 [Base.BakingPan] flags[InheritCondition],
                item 1 [Base.PieDough] flags[ItemCount;InheritFoodAge],

                item 1 [4:Base.Peach;1:VFX.JarPeachOpen;2:Base.CannedPeachesOpen] flags[ItemCount;InheritFoodAge],
                item 10 tags[base:sugar],
                item 5 [Base.Butter],
                item 1 [Base.Cinnamon],
                item 1 [VFX.Nutmeg],
            }

            outputs
            {
                item 1 VFX.WholePiePeach,
            }
        }

        craftRecipe VFX_PrepareMixedBerryPie
        {
            timedAction = VFX.MixingBowl,
            time = 80,
            tags = AnySurfaceCraft;Cooking,
            category = Cooking,

            needToBeLearn = true,
            AutoLearnAny = Cooking:7,
            xpAward = Cooking:10,

            inputs
            {
                item 1 tags[base:rollingpin] mode:keep flags[MayDegrade],
                item 1 tags[base:mixingutensil] mode:keep flags[MayDegradeVeryLight],
                item 1 tags[base:sharpknife;base:dullknife;base:meatcleaver] mode:keep flags[MayDegradeVeryLight],
                item 1 [Base.BakingPan] flags[InheritCondition],
                item 1 [Base.PieDough] flags[ItemCount;InheritFoodAge],

                item 1 [3:Base.BerryBlue;1:VFX.PunnetBlueberries;1:VFX.Blueberries] flags[AllowFrozenItem;ItemCount;InheritFoodAge],
                item 1 [3:Base.Strewberrie;1:VFX.WholeStrawberries;1:VFX.SlicedStrawberries] flags[AllowFrozenItem;ItemCount;InheritFoodAge],
                item 1 [3:Base.BerryBlack;1:VFX.Blackberries;1:VFX.PunnetBlackberries] flags[AllowFrozenItem;ItemCount;InheritFoodAge],
                item 1 [VFX.PunnetRaspberries;VFX.Raspberries] flags[AllowFrozenItem;ItemCount;InheritFoodAge],
                item 10 tags[base:sugar],
                item 5 [Base.Butter],
            }

            outputs
            {
                item 1 VFX.WholePieMixedBerry,
            }
        }

        craftRecipe VFX_PrepareLemonCreamPie
        {
            timedAction = VFX.MixingBowl,
            time = 80,
            tags = AnySurfaceCraft;Cooking,
            category = Cooking,

            needToBeLearn = true,
            AutoLearnAny = Cooking:7,
            xpAward = Cooking:10,

            inputs
            {
                item 1 tags[base:rollingpin] mode:keep flags[MayDegrade],
                item 1 tags[base:mixingutensil] mode:keep flags[MayDegradeVeryLight],
                item 1 tags[base:sharpknife;base:dullknife;base:meatcleaver] mode:keep flags[MayDegradeVeryLight],
                item 1 [Base.BakingPan] flags[InheritCondition],
                item 1 [Base.PieDough] flags[ItemCount;InheritFoodAge],

                item 1 [4:Base.Lemon] flags[ItemCount;InheritFoodAge],
                item 10 tags[base:sugar],
                item 2 tags[base:egg] flags[IsUncookedFoodItem;InheritFoodAge;ItemCount],
                item 5 [Base.Butter],
                item 1 [*],
                    -fluid 0.3 [CowMilk],
            }

            outputs
            {
                item 1 VFX.WholePieLemonCream,
            }
        }

        craftRecipe VFX_PrepareBlackberryPie
        {
            timedAction = VFX.MixingBowl,
            time = 80,
            tags = AnySurfaceCraft;Cooking,
            category = Cooking,

            needToBeLearn = true,
            AutoLearnAny = Cooking:7,
            xpAward = Cooking:10,

            inputs
            {
                item 1 tags[base:rollingpin] mode:keep flags[MayDegrade],
                item 1 tags[base:mixingutensil] mode:keep flags[MayDegradeVeryLight],
                item 1 tags[base:sharpknife;base:dullknife;base:meatcleaver] mode:keep flags[MayDegradeVeryLight],
                item 1 [Base.BakingPan] flags[InheritCondition],
                item 1 [Base.PieDough] flags[ItemCount;InheritFoodAge],

                item 1 [12:Base.BerryBlack;2:VFX.Blackberries;2:VFX.PunnetBlackberries] flags[AllowFrozenItem;ItemCount;InheritFoodAge],
                item 10 tags[base:sugar],
                item 5 [Base.Butter],
            }

            outputs
            {
                item 1 VFX.WholePieBlackberry,
            }
        }

        craftRecipe VFX_PrepareRaspberryPie
        {
            timedAction = VFX.MixingBowl,
            time = 80,
            tags = AnySurfaceCraft;Cooking,
            category = Cooking,

            needToBeLearn = true,
            AutoLearnAny = Cooking:7,
            xpAward = Cooking:10,

            inputs
            {
                item 1 tags[base:rollingpin] mode:keep flags[MayDegrade],
                item 1 tags[base:mixingutensil] mode:keep flags[MayDegradeVeryLight],
                item 1 tags[base:sharpknife;base:dullknife;base:meatcleaver] mode:keep flags[MayDegradeVeryLight],
                item 1 [Base.BakingPan] flags[InheritCondition],
                item 1 [Base.PieDough] flags[ItemCount;InheritFoodAge],

                item 1 [2:VFX.PunnetRaspberries;2:VFX.Raspberries] flags[AllowFrozenItem;ItemCount;InheritFoodAge],
                item 10 tags[base:sugar],
                item 5 [Base.Butter],
                item 2 tags[base:flour],
            }

            outputs
            {
                item 1 VFX.WholePieRaspberry,
            }
        }

        craftRecipe VFX_PreparePumpkinPie
        {
            timedAction = VFX.MixingBowl,
            time = 80,
            tags = AnySurfaceCraft;Cooking,
            category = Cooking,

            needToBeLearn = true,
            AutoLearnAny = Cooking:7,
            xpAward = Cooking:10,

            inputs
            {
                item 1 tags[base:rollingpin] mode:keep flags[MayDegrade],
                item 1 tags[base:mixingutensil] mode:keep flags[MayDegradeVeryLight],
                item 1 tags[base:sharpknife;base:dullknife;base:meatcleaver] mode:keep flags[MayDegradeVeryLight],
                item 1 [Base.BakingPan] flags[InheritCondition],
                item 1 [Base.PieDough] flags[ItemCount;InheritFoodAge],

                item 1 [4:Base.PumpkinSliced;2:VFX.CannedPumpkinPureeOpen] flags[ItemCount;InheritFoodAge],
                item 10 tags[base:sugar],
                item 2 tags[base:egg] flags[IsUncookedFoodItem;InheritFoodAge;ItemCount],
                item 1 [Base.Cinnamon],
                item 1 [VFX.Nutmeg],
                item 1 [VFX.GroundGinger],
                item 1 [*],
                    -fluid 0.3 [CowMilk],
            }

            outputs
            {
                item 1 VFX.WholePiePumpkin,
            }
        }

        craftRecipe VFX_PrepareSweetPotatoPie
        {
            timedAction = VFX.MixingBowl,
            time = 80,
            tags = AnySurfaceCraft;Cooking,
            category = Cooking,

            needToBeLearn = true,
            AutoLearnAny = Cooking:7,
            xpAward = Cooking:10,

            inputs
            {
                item 1 tags[base:rollingpin] mode:keep flags[MayDegrade],
                item 1 tags[base:mixingutensil] mode:keep flags[MayDegradeVeryLight],
                item 1 tags[base:sharpknife;base:dullknife;base:meatcleaver] mode:keep flags[MayDegradeVeryLight],
                item 1 [Base.BakingPan] flags[InheritCondition],
                item 1 [Base.PieDough] flags[ItemCount;InheritFoodAge],

                item 1 [2:Base.SweetPotato] flags[ItemCount;InheritFoodAge],
                item 10 tags[base:sugar],
                item 2 tags[base:egg] flags[IsUncookedFoodItem;InheritFoodAge;ItemCount],
                item 5 [Base.Butter],
                item 1 [Base.Cinnamon],
                item 1 [VFX.Nutmeg],
                item 1 [*],
                    -fluid 0.3 [CowMilk],
            }

            outputs
            {
                item 1 VFX.WholePieSweetPotato,
            }
        }

        craftRecipe VFX_PreparePecanPie
        {
            timedAction = VFX.MixingBowl,
            time = 80,
            tags = AnySurfaceCraft;Cooking,
            category = Cooking,

            needToBeLearn = true,
            AutoLearnAny = Cooking:7,
            xpAward = Cooking:10,

            inputs
            {
                item 1 tags[base:rollingpin] mode:keep flags[MayDegrade],
                item 1 tags[base:mixingutensil] mode:keep flags[MayDegradeVeryLight],
                item 1 tags[base:sharpknife;base:dullknife;base:meatcleaver] mode:keep flags[MayDegradeVeryLight],
                item 1 [Base.BakingPan] flags[InheritCondition],
                item 1 [Base.PieDough] flags[ItemCount;InheritFoodAge],

                item 1 [2:VFX.Pecans] flags[ItemCount],
                item 10 tags[base:sugar],
                item 2 tags[base:egg] flags[IsUncookedFoodItem;InheritFoodAge;ItemCount],
                item 5 [Base.Butter],
                item 2 [Base.Honey],
                item 1 [VFX.VanillaExtract],
            }

            outputs
            {
                item 1 VFX.WholePiePecan,
            }
        }

/* <<<<<  Fridge and Freezer  >>>>> */

    craftRecipe VFX_SlicePizza
    {
        timedAction = SliceMeat_Surface,
        time = 50,
        category = Cooking,
        Tags = AnySurfaceCraft;Cooking,
        Tooltip = Tooltip_Recipe_MustCookedSlice,

        inputs
        {
            item 1 [VFX.FrozenCheesePizza;VFX.FrozenThreeMeatPizza;VFX.FrozenPepperoniPizza;VFX.FrozenBuffaloChickenPizza;VFX.FrozenSupremePizza] mappers[sliceType] mode:destroy flags[IsCookedFoodItem;InheritFoodAge;ItemCount],
            item 1 tags[base:sharpknife;base:meatcleaver;base:dullknife;base:pizzacutter] mode:keep flags[MayDegradeLight;SharpnessCheck],
        }

        outputs
        {
            item 6 mapper:sliceType,
        }

        itemMapper sliceType
        {
            VFX.CheesePizzaSlice = VFX.FrozenCheesePizza,
            VFX.ThreeMeatPizzaSlice = VFX.FrozenThreeMeatPizza,
            VFX.PepperoniPizzaSlice = VFX.FrozenPepperoniPizza,
            VFX.BuffaloChickenPizzaSlice = VFX.FrozenBuffaloChickenPizza,
            VFX.SupremePizzaSlice = VFX.FrozenSupremePizza,
        }
    }

    craftRecipe VFX_OpenUncrustablesBox
    {
        timedAction = VFX.SmallBagUnpacking,
        Time = 15,
        Tags = InHandCraft;Cooking;CanBeDoneInDark,
        category = Cooking,
        inputs
        {
            item 1 [VFX.PBJUncrustable_Box;VFX.PBFUncrustable_Box;VFX.CSUncrustable_Box;VFX.CHUncrustable_Box] mappers[boxType] mode:destroy flags[ItemCount;AllowFrozenItem;InheritFoodAge;InheritFreezingTime;Prop2],
        }
        outputs
        {
            item 5 mapper:boxType,
        }
        itemMapper boxType
        {
            VFX.PBJUncrustable = VFX.PBJUncrustable_Box,
            VFX.PBFUncrustable = VFX.PBFUncrustable_Box,
            VFX.CSUncrustable = VFX.CSUncrustable_Box,
            VFX.CHUncrustable = VFX.CHUncrustable_Box,
        }
    }

    craftRecipe VFX_OpenPizzaRollBox
    {
        timedAction = VFX.SmallBagUnpacking,
        Time = 15,
        Tags = InHandCraft;Cooking;CanBeDoneInDark,
        category = Cooking,
        inputs
        {
            item 1 [VFX.CheesePizzaRoll_Box;VFX.PepperoniPizzaRoll_Box;VFX.SupremePizzaRoll_Box;VFX.MeatLoversPizzaRoll_Box] mode:destroy flags[ItemCount;AllowFrozenItem;InheritFoodAge;InheritFreezingTime;Prop2] mappers[boxType],
        }
        outputs
        {
            item 4 mapper:boxType,
        }
        itemMapper boxType
        {
            VFX.CheesePizzaRoll = VFX.CheesePizzaRoll_Box,
            VFX.PepperoniPizzaRoll = VFX.PepperoniPizzaRoll_Box,
            VFX.SupremePizzaRoll = VFX.SupremePizzaRoll_Box,
            VFX.MeatLoversPizzaRoll = VFX.MeatLoversPizzaRoll_Box,
        }
    }

    craftRecipe VFX_OpenBreakfastSandwichBox
    {
        timedAction = VFX.SmallBagUnpacking,
        Time = 15,
        Tags = InHandCraft;Cooking;CanBeDoneInDark,
        category = Cooking,
        inputs
        {
            item 1 [VFX.SECBreakfastSandwich_Box;VFX.BECBreakfastSandwich_Box;VFX.TECBreakfastSandwich_Box;VFX.ECBreakfastSandwich_Box] mode:destroy flags[ItemCount;AllowFrozenItem;InheritFoodAge;InheritFreezingTime;Prop2] mappers[boxType],
        }
        outputs
        {
            item 4 mapper:boxType,
        }
        itemMapper boxType
        {
            VFX.SECBreakfastSandwich = VFX.SECBreakfastSandwich_Box,
            VFX.BECBreakfastSandwich = VFX.BECBreakfastSandwich_Box,
            VFX.TECBreakfastSandwich = VFX.TECBreakfastSandwich_Box,
            VFX.ECBreakfastSandwich = VFX.ECBreakfastSandwich_Box,
        }
    }

    craftRecipe VFX_ScoopIceCream
    {
        timedAction = VFX.BowlMixing,
        time = 30,
        tags = InHandCraft;Cooking,
        category = Cooking,
        xpAward = Cooking:3,

        inputs
        {
            item 1 tags[base:spoon] mode:keep,
            item 1 [Base.Cone] flags[AllowFrozenItem;ItemCount],
            item 10 [VFX.ChocolateIceCream;VFX.ChocolateChipIceCream;VFX.StrawberryIceCream;VFX.NeapolitanIceCream;VFX.ButterPecanIceCream;VFX.MintChocolateChipIceCream;VFX.CookiesAndCreamIceCream;VFX.RockyRoadIceCream;VFX.PistachioIceCream] mappers[IceCreamConeType] flags[AllowFrozenItem;InheritFoodAge],
        }

        outputs
        {
            item 1 mapper:IceCreamConeType,
        }

        itemMapper IceCreamConeType
        {
            VFX.ChocolateIceCreamCone = VFX.ChocolateIceCream,
            VFX.ChocolateChipIceCreamCone = VFX.ChocolateChipIceCream,
            VFX.StrawberryIceCreamCone = VFX.StrawberryIceCream,
            VFX.NeapolitanIceCreamCone = VFX.NeapolitanIceCream,
            VFX.ButterPecanIceCreamCone = VFX.ButterPecanIceCream,
            VFX.MintChocolateChipIceCreamCone = VFX.MintChocolateChipIceCream,
            VFX.CookiesAndCreamIceCreamCone = VFX.CookiesAndCreamIceCream,
            VFX.RockyRoadIceCreamCone = VFX.RockyRoadIceCream,
            VFX.PistachioIceCreamCone = VFX.PistachioIceCream,
        }
    }

    craftRecipe VFX_SliceFrozenPie
    {
        time = 40,
        timedAction = SliceFood_Surface,
        tags = AnySurfaceCraft,
        category = Cooking,

        inputs
        {
            item 1 tags[base:sharpknife] mode:keep flags[MayDegrade],
            item 1 [VFX.WholeFrozenPieApple;VFX.WholeFrozenPieCherry;VFX.WholeFrozenPieBlueberry;VFX.WholeFrozenPieStrawberry;VFX.WholeFrozenPiePeach;VFX.WholeFrozenPieMixedBerry;VFX.WholeFrozenPieLemonCream;VFX.WholeFrozenPieBlackberry;VFX.WholeFrozenPieRaspberry] mappers[PieType] flags[InheritCooked;InheritFood;InheritFoodAge;IsCookedFoodItem;ItemCount;Prop2] mode:destroy,
        }

        outputs
        {
            item 5 mapper:PieType,
        }

        itemMapper PieType
        {
            VFX.SlicePieApple = VFX.WholeFrozenPieApple,
            VFX.SlicePieCherry = VFX.WholeFrozenPieCherry,
            VFX.SlicePieBlueberry = VFX.WholeFrozenPieBlueberry,
            VFX.SlicePieStrawberry = VFX.WholeFrozenPieStrawberry,
            VFX.SlicePiePeach = VFX.WholeFrozenPiePeach,
            VFX.SlicePieMixedBerry = VFX.WholeFrozenPieMixedBerry,
            VFX.SlicePieLemonCream = VFX.WholeFrozenPieLemonCream,
            VFX.SlicePieBlackberry = VFX.WholeFrozenPieBlackberry,
            VFX.SlicePieRaspberry = VFX.WholeFrozenPieRaspberry,
        }
    }

    craftRecipe VFX_OpenPackSausages
    {
        timedAction = VFX.UnpackingSmall,
        time = 20,
        category = Cooking,
        tags = InHandCraft;Cooking,

        inputs
        {
            item 1 [VFX.PorkSausagePack;VFX.BeefSausagePack;VFX.BeefPorkSausagePack;VFX.ChickenSausagePack;VFX.SmokedSausagePack;VFX.SpicySausagePack;VFX.ChorizoPack;VFX.CheeseSausagePack] mappers[Sausage] flags[ItemCount;AllowFrozenItem;InheritFoodAge;InheritFreezingTime;Prop2] mode:destroy,
        }

        outputs
        {
            item 4 mapper:Sausage,
        }

        itemMapper Sausage
        {
            VFX.PorkSausage = VFX.PorkSausagePack,
            VFX.BeefSausage = VFX.BeefSausagePack,
            VFX.BeefPorkSausage = VFX.BeefPorkSausagePack,
            VFX.ChickenSausage = VFX.ChickenSausagePack,
            VFX.SmokedSausage = VFX.SmokedSausagePack,
            VFX.SpicySausage = VFX.SpicySausagePack,
            VFX.Chorizo = VFX.ChorizoPack,
            VFX.CheeseSausage = VFX.CheeseSausagePack,
        }
    }

    craftRecipe VFX_OpenPackMeatballs
    {
        timedAction = VFX.SmallBagUnpacking,
        time = 20,
        tags = InHandCraft;CanBeDoneInDark,
        category = Cooking,

        inputs
        {
            item 1 [VFX.BeefMeatballsBag;VFX.PorkMeatballsBag;VFX.VealMeatballsBag;VFX.TurkeyMeatballsBag;VFX.ChickenMeatballsBag] mappers[Meatballs] flags[ItemCount;AllowFrozenItem;InheritFoodAge;InheritFreezingTime;Prop2] mode:destroy,
        }

        outputs
        {
            item 12 mapper:Meatballs,
        }

        itemMapper Meatballs
        {
            VFX.BeefMeatball = VFX.BeefMeatballsBag,
            VFX.PorkMeatball = VFX.PorkMeatballsBag,
            VFX.VealMeatball = VFX.VealMeatballsBag,
            VFX.TurkeyMeatball = VFX.TurkeyMeatballsBag,
            VFX.ChickenMeatball = VFX.ChickenMeatballsBag,
        }
    }

/* <<<<<  Fruit and Vegetables  >>>>> */

    craftRecipe VFX_SlicePotato
    {
        timedAction = SliceFood_Surface,
        Time = 50,
        Tags = AnySurfaceCraft;Cooking,
        category = Cooking,

        inputs
        {
            item 1 tags[base:sharpknife] mode:keep flags[SharpnessCheck],
            item 1 [Base.Potato] flags[ItemCount],
        }

        outputs
        {
            item 1 VFX.SlicedPotato,
        }
    }

    craftRecipe VFX_PrepareMashedPotato
    {
        timedAction = VFX.BowlMixing,
        Time = 100,
        Tags = AnySurfaceCraft;Cooking,
        category = Cooking,
        needToBeLearn = true,
        AutoLearnAny = Cooking:2,

        inputs
        {
            item 1 tags[base:mixingutensil] mode:keep flags[MayDegradeVeryLight],
            item 1 [Base.Bowl;Base.ClayBowl] mode:keep flags[ItemCount],
            item 2 [Base.Potato] flags[ItemCount;IsCookedFoodItem],
            item 5 [Base.Butter],
            item 1 [*],
                    -fluid 0.2 [CowMilk],
        }

        outputs
        {
            item 1 VFX.MashedPotato,
        }
    }

/* <<<<<  Candy  >>>>> */

    craftRecipe VFX_OpenCandyBag
    {
        timedAction = VFX.SmallBagUnpacking,
        time = 30,
        tags = InHandCraft;CanBeDoneInDark,
        category = Cooking,

        inputs
        {
            item 1 [VFX.BagGummyBears;VFX.BagSourGummyBears;VFX.BagGummyFish;VFX.BagGummyWorms;VFX.BagSourGummyWorms;VFX.BagPeachRings;VFX.BagColaGummies] mappers[CandyType] flags[ItemCount;Prop2],
        }

        outputs
        {
            item 5 mapper:CandyType,
        }
        
        itemMapper CandyType
        {
            Base.GummyBears = VFX.BagGummyBears,
            VFX.GummySourBears = VFX.BagSourGummyBears,
            Base.CandyGummyfish = VFX.BagGummyFish,
            Base.GummyWorms = VFX.BagGummyWorms,
            VFX.GummySourWorms = VFX.BagSourGummyWorms,
            VFX.GummyPeachRings = VFX.BagPeachRings,
            VFX.GummyCola = VFX.BagColaGummies,
        }
    }

/* <<<<<  Craft Base Game Items  >>>>> */

    craftRecipe VFX_MakePancakes
    {
        timedAction = VFX.BowlMixing,
        time = 60,
        category = Cooking,
        tags = AnySurfaceCraft;Cooking,
        xpAward = Cooking:3,
        needToBeLearn = true,
        AutoLearnAny = Cooking:2,

        inputs
        {
            item 1 tags[base:mixingutensil] mode:keep flags[MayDegradeVeryLight],
            item 1 [Base.Bowl;Base.ClayBowl] mode:keep flags[IsEmpty],

            item 1 tags[base:egg] flags[IsUncookedFoodItem;InheritFoodAge;ItemCount],
            item 2 tags[base:flour],
            item 1 tags[base:sugar],

            item 1 [*],
                -fluid 0.3 [CowMilk],
        }

        outputs
        {
            item 1 Base.PancakesCraft,
        }
    }

    craftRecipe VFX_MakeGravy
    {
        timedAction = VFX.BowlMixing,
        time = 60,
        category = Cooking,
        tags = AnySurfaceCraft;Cooking,
        xpAward = Cooking:3,
        needToBeLearn = true,
        AutoLearnAny = Cooking:2,

        inputs
        {
            item 1 tags[base:mixingutensil] mode:keep flags[MayDegradeVeryLight],
            item 1 [Base.Bowl;Base.ClayBowl] mode:keep flags[IsEmpty],

            item 2 tags[VFX:BouillionCube] flags[ItemCount],
            item 2 [Base.Butter],
            item 1 [Base.Flour2],
            item 1 [Base.Salt],
            item 1 [Base.Pepper],

            item 1 [*],
                -fluid 0.5 [Water],
        }

        outputs
        {
            item 1 Base.Gravy,
        }
    }

    craftRecipe VFX_MakeFrostedDoughnuts
    {
        timedAction = VFX.BowlMixing,
        time = 30,
        category = Cooking,
        tags = AnySurfaceCraft;Cooking,
        xpAward = Cooking:3,
        needToBeLearn = true,
        AutoLearnAny = Cooking:6,

        inputs
        {
            item 2 [Base.DoughnutPlain] flags[InheritFoodAge;ItemCount],
            item 5 tags[VFX:Frosting],
            item 5 [VFX.Sprinkles],
        }

        outputs
        {
            item 2 Base.DoughnutFrosted
        }
    }

/* <<<<<  Bowls and Plates  >>>>> */

        craftRecipe VFX_Make2Bowls
        {
            timedAction = VFX.BowlMixing,
            Time = 80,
            OnCreate = RecipeCodeOnCreate.inheritFoodNameBowl,
            Tooltip = Tooltip_Recipe_CookedPortion,
            Tags = AnySurfaceCraft;Cooking,
            category = Cooking,

            inputs
            {
                item 2 [Base.Bowl;Base.ClayBowl] mode:destroy flags[ItemCount],
                item 1 [VFX.WaterSaucepanBrownRice;VFX.WaterSaucepanJasmineRice;VFX.WaterSaucepanBasmatiRice;VFX.WaterSaucepanArborioRice;VFX.WaterSaucepanMacaroni;VFX.WaterSaucepanFettuccine;VFX.WaterSaucepanPenne;VFX.WaterSaucepanGnocchi;VFX.WaterSaucepanCopperBrownRice;VFX.WaterSaucepanCopperJasmineRice;VFX.WaterSaucepanCopperBasmatiRice;VFX.WaterSaucepanCopperArborioRice;VFX.WaterSaucepanCopperMacaroni;VFX.WaterSaucepanCopperFettuccine;VFX.WaterSaucepanCopperPenne;VFX.WaterSaucepanCopperGnocchi;VFX.WaterPotBrownRice;VFX.WaterPotJasmineRice;VFX.WaterPotBasmatiRice;VFX.WaterPotArborioRice;VFX.WaterPotMacaroni;VFX.WaterPotFettuccine;VFX.WaterPotPenne;VFX.WaterPotGnocchi;VFX.WaterPotForgedBrownRice;VFX.WaterPotForgedJasmineRice;VFX.WaterPotForgedBasmatiRice;VFX.WaterPotForgedArborioRice;VFX.WaterPotForgedMacaroni;VFX.WaterPotForgedFettuccine;VFX.WaterPotForgedPenne;VFX.WaterPotForgedGnocchi;Base.VFXBrownRiceSaucepanEvolved;Base.VFXJasmineRiceSaucepanEvolved;Base.VFXBasmatiRiceSaucepanEvolved;Base.VFXArborioRiceSaucepanEvolved;Base.VFXMacaroniSaucepanEvolved;Base.VFXFettuccineSaucepanEvolved;Base.VFXPenneSaucepanEvolved;Base.VFXGnocchiSaucepanEvolved;Base.VFXBrownRiceSaucepanCopperEvolved;Base.VFXJasmineRiceSaucepanCopperEvolved;Base.VFXBasmatiRiceSaucepanCopperEvolved;Base.VFXArborioRiceSaucepanCopperEvolved;Base.VFXMacaroniSaucepanCopperEvolved;Base.VFXFettuccineSaucepanCopperEvolved;Base.VFXPenneSaucepanCopperEvolved;Base.VFXGnocchiSaucepanCopperEvolved;Base.VFXBrownRicePotEvolved;Base.VFXJasmineRicePotEvolved;Base.VFXBasmatiRicePotEvolved;Base.VFXArborioRicePotEvolved;Base.VFXMacaroniPotEvolved;Base.VFXFettuccinePotEvolved;Base.VFXPennePotEvolved;Base.VFXGnocchiPotEvolved;Base.VFXBrownRicePotForgedEvolved;Base.VFXJasmineRicePotForgedEvolved;Base.VFXBasmatiRicePotForgedEvolved;Base.VFXArborioRicePotForgedEvolved;Base.VFXMacaroniPotForgedEvolved;Base.VFXFettuccinePotForgedEvolved;Base.VFXPennePotForgedEvolved;Base.VFXGnocchiPotForgedEvolved;VFX.SaucepanGroundBeefRavioli;VFX.CopperSaucepanGroundBeefRavioli;VFX.PotGroundBeefRavioli;VFX.PotForgedGroundBeefRavioli;VFX.SaucepanSpinachRicottaRavioli;VFX.CopperSaucepanSpinachRicottaRavioli;VFX.PotSpinachRicottaRavioli;VFX.PotForgedSpinachRicottaRavioli;VFX.SaucepanThreeCheeseRavioli;VFX.CopperSaucepanThreeCheeseRavioli;VFX.PotThreeCheeseRavioli;VFX.PotForgedThreeCheeseRavioli;VFX.SaucepanPumpkinRavioli;VFX.CopperSaucepanPumpkinRavioli;VFX.PotPumpkinRavioli;VFX.PotForgedPumpkinRavioli;VFX.SaucepanLobsterRavioli;VFX.CopperSaucepanLobsterRavioli;VFX.PotLobsterRavioli;VFX.PotForgedLobsterRavioli;VFX.SaucepanChickenMushroomRavioli;VFX.CopperSaucepanChickenMushroomRavioli;VFX.PotChickenMushroomRavioli;VFX.PotForgedChickenMushroomRavioli;VFX.SaucepanFourCheeseTortellini;VFX.CopperSaucepanFourCheeseTortellini;VFX.PotFourCheeseTortellini;VFX.PotForgedFourCheeseTortellini;VFX.SaucepanPepperedPorkTortellini;VFX.CopperSaucepanPepperedPorkTortellini;VFX.PotPepperedPorkTortellini;VFX.PotForgedPepperedPorkTortellini;VFX.SaucepanSpinachRicottaTortellini;VFX.CopperSaucepanSpinachRicottaTortellini;VFX.PotSpinachRicottaTortellini;VFX.PotForgedSpinachRicottaTortellini;VFX.SaucepanGroundBeefTortellini;VFX.CopperSaucepanGroundBeefTortellini;VFX.PotGroundBeefTortellini;VFX.PotForgedGroundBeefTortellini;VFX.PMSaucepanCheddarBroccoli;VFX.PMSaucepanParmesan;VFX.PMSaucepanCreamyChicken;VFX.PMSaucepanCreamyPesto;VFX.PMSaucepanAlfredo;VFX.PMSaucepanMacCheese;VFX.PMCopperSaucepanCheddarBroccoli;VFX.PMCopperSaucepanParmesan;VFX.PMCopperSaucepanCreamyChicken;VFX.PMCopperSaucepanCreamyPesto;VFX.PMCopperSaucepanAlfredo;VFX.PMCopperSaucepanMacCheese;VFX.RMSaucepanChicken;VFX.RMSaucepanMexican;VFX.RMSaucepanMedley;VFX.RMSaucepanFried;VFX.RMCopperSaucepanChicken;VFX.RMCopperSaucepanMexican;VFX.RMCopperSaucepanMedley;VFX.RMCopperSaucepanFried;VFX.PotButterChicken;VFX.PotThaiGreenCurry;VFX.PotMassamanCurry;VFX.PotChanaMasala;VFX.PotSweetPotatoChickpeaCurry;VFX.PotTofuCurry;Base.VFXFriedRicePreparation;Base.VFXFriedRiceEvolved;Base.VFXChiliSaucepanEvolved;Base.VFXChiliSaucepanCopperEvolved;Base.VFXChiliPotEvolved;Base.VFXChiliPotForgedEvolved;Base.VFXCurrySaucepanEvolved;Base.VFXCurrySaucepanCopperEvolved;Base.VFXCurryPotEvolved;Base.VFXCurryPotForgedEvolved] mappers[bowlType;potType] flags[InheritCondition;InheritCooked;InheritFood;IsCookedFoodItem;ItemCount],
            }

            outputs
            {
                item 2 mapper:bowlType,
                item 1 mapper:potType,
            }

            itemMapper bowlType
            {
                VFX.ArborioRiceBowl = VFX.WaterSaucepanArborioRice,
                VFX.ArborioRiceBowl = VFX.WaterSaucepanCopperArborioRice,
                VFX.ArborioRiceBowl = VFX.WaterPotArborioRice,
                VFX.ArborioRiceBowl = VFX.WaterPotForgedArborioRice,
                VFX.ArborioRiceBowl = Base.VFXArborioRiceSaucepanEvolved,
                VFX.ArborioRiceBowl = Base.VFXArborioRiceSaucepanCopperEvolved,
                VFX.ArborioRiceBowl = Base.VFXArborioRicePotEvolved,
                VFX.ArborioRiceBowl = Base.VFXArborioRicePotForgedEvolved,

                VFX.BasmatiRiceBowl = VFX.WaterSaucepanBasmatiRice,
                VFX.BasmatiRiceBowl = VFX.WaterSaucepanCopperBasmatiRice,
                VFX.BasmatiRiceBowl = VFX.WaterPotBasmatiRice,
                VFX.BasmatiRiceBowl = VFX.WaterPotForgedBasmatiRice,
                VFX.BasmatiRiceBowl = Base.VFXBasmatiRiceSaucepanEvolved,
                VFX.BasmatiRiceBowl = Base.VFXBasmatiRiceSaucepanCopperEvolved,
                VFX.BasmatiRiceBowl = Base.VFXBasmatiRicePotEvolved,
                VFX.BasmatiRiceBowl = Base.VFXBasmatiRicePotForgedEvolved,

                VFX.BrownRiceBowl = VFX.WaterSaucepanBrownRice,
                VFX.BrownRiceBowl = VFX.WaterSaucepanCopperBrownRice,
                VFX.BrownRiceBowl = VFX.WaterPotBrownRice,
                VFX.BrownRiceBowl = VFX.WaterPotForgedBrownRice,
                VFX.BrownRiceBowl = Base.VFXBrownRiceSaucepanEvolved,
                VFX.BrownRiceBowl = Base.VFXBrownRiceSaucepanCopperEvolved,
                VFX.BrownRiceBowl = Base.VFXBrownRicePotEvolved,
                VFX.BrownRiceBowl = Base.VFXBrownRicePotForgedEvolved,

                VFX.FettuccineBowl = VFX.WaterSaucepanFettuccine,
                VFX.FettuccineBowl = VFX.WaterSaucepanCopperFettuccine,
                VFX.FettuccineBowl = VFX.WaterPotFettuccine,
                VFX.FettuccineBowl = VFX.WaterPotForgedFettuccine,
                VFX.FettuccineBowl = Base.VFXFettuccineSaucepanEvolved,
                VFX.FettuccineBowl = Base.VFXFettuccineSaucepanCopperEvolved,
                VFX.FettuccineBowl = Base.VFXFettuccinePotEvolved,
                VFX.FettuccineBowl = Base.VFXFettuccinePotForgedEvolved,

                VFX.GnocchiBowl = VFX.WaterSaucepanGnocchi,
                VFX.GnocchiBowl = VFX.WaterSaucepanCopperGnocchi,
                VFX.GnocchiBowl = VFX.WaterPotGnocchi,
                VFX.GnocchiBowl = VFX.WaterPotForgedGnocchi,
                VFX.GnocchiBowl = Base.VFXGnocchiSaucepanEvolved,
                VFX.GnocchiBowl = Base.VFXGnocchiSaucepanCopperEvolved,
                VFX.GnocchiBowl = Base.VFXGnocchiPotEvolved,
                VFX.GnocchiBowl = Base.VFXGnocchiPotForgedEvolved,

                VFX.JasmineRiceBowl = VFX.WaterSaucepanJasmineRice,
                VFX.JasmineRiceBowl = VFX.WaterSaucepanCopperJasmineRice,
                VFX.JasmineRiceBowl = VFX.WaterPotJasmineRice,
                VFX.JasmineRiceBowl = VFX.WaterPotForgedJasmineRice,
                VFX.JasmineRiceBowl = Base.VFXJasmineRiceSaucepanEvolved,
                VFX.JasmineRiceBowl = Base.VFXJasmineRiceSaucepanCopperEvolved,
                VFX.JasmineRiceBowl = Base.VFXJasmineRicePotEvolved,
                VFX.JasmineRiceBowl = Base.VFXJasmineRicePotForgedEvolved,

                VFX.MacaroniBowl = VFX.WaterSaucepanMacaroni,
                VFX.MacaroniBowl = VFX.WaterSaucepanCopperMacaroni,
                VFX.MacaroniBowl = VFX.WaterPotMacaroni,
                VFX.MacaroniBowl = VFX.WaterPotForgedMacaroni,
                VFX.MacaroniBowl = Base.VFXMacaroniSaucepanEvolved,
                VFX.MacaroniBowl = Base.VFXMacaroniSaucepanCopperEvolved,
                VFX.MacaroniBowl = Base.VFXMacaroniPotEvolved,
                VFX.MacaroniBowl = Base.VFXMacaroniPotForgedEvolved,

                VFX.PenneBowl = VFX.WaterSaucepanPenne,
                VFX.PenneBowl = VFX.WaterSaucepanCopperPenne,
                VFX.PenneBowl = VFX.WaterPotPenne,
                VFX.PenneBowl = VFX.WaterPotForgedPenne,
                VFX.PenneBowl = Base.VFXPenneSaucepanEvolved,
                VFX.PenneBowl = Base.VFXPenneSaucepanCopperEvolved,
                VFX.PenneBowl = Base.VFXPennePotEvolved,
                VFX.PenneBowl = Base.VFXPennePotForgedEvolved,

                VFX.BowlGroundBeefRavioli = VFX.SaucepanGroundBeefRavioli,
                VFX.BowlGroundBeefRavioli = VFX.CopperSaucepanGroundBeefRavioli,
                VFX.BowlGroundBeefRavioli = VFX.PotGroundBeefRavioli,
                VFX.BowlGroundBeefRavioli = VFX.PotForgedGroundBeefRavioli,

                VFX.BowlSpinachRicottaRavioli = VFX.SaucepanSpinachRicottaRavioli,
                VFX.BowlSpinachRicottaRavioli = VFX.CopperSaucepanSpinachRicottaRavioli,
                VFX.BowlSpinachRicottaRavioli = VFX.PotSpinachRicottaRavioli,
                VFX.BowlSpinachRicottaRavioli = VFX.PotForgedSpinachRicottaRavioli,

                VFX.BowlThreeCheeseRavioli = VFX.SaucepanThreeCheeseRavioli,
                VFX.BowlThreeCheeseRavioli = VFX.CopperSaucepanThreeCheeseRavioli,
                VFX.BowlThreeCheeseRavioli = VFX.PotThreeCheeseRavioli,
                VFX.BowlThreeCheeseRavioli = VFX.PotForgedThreeCheeseRavioli,

                VFX.BowlPumpkinRavioli = VFX.SaucepanPumpkinRavioli,
                VFX.BowlPumpkinRavioli = VFX.CopperSaucepanPumpkinRavioli,
                VFX.BowlPumpkinRavioli = VFX.PotPumpkinRavioli,
                VFX.BowlPumpkinRavioli = VFX.PotForgedPumpkinRavioli,

                VFX.BowlLobsterRavioli = VFX.SaucepanLobsterRavioli,
                VFX.BowlLobsterRavioli = VFX.CopperSaucepanLobsterRavioli,
                VFX.BowlLobsterRavioli = VFX.PotLobsterRavioli,
                VFX.BowlLobsterRavioli = VFX.PotForgedLobsterRavioli,

                VFX.BowlChickenMushroomRavioli = VFX.SaucepanChickenMushroomRavioli,
                VFX.BowlChickenMushroomRavioli = VFX.CopperSaucepanChickenMushroomRavioli,
                VFX.BowlChickenMushroomRavioli = VFX.PotChickenMushroomRavioli,
                VFX.BowlChickenMushroomRavioli = VFX.PotForgedChickenMushroomRavioli,

                VFX.BowlFourCheeseTortellini = VFX.SaucepanFourCheeseTortellini,
                VFX.BowlFourCheeseTortellini = VFX.CopperSaucepanFourCheeseTortellini,
                VFX.BowlFourCheeseTortellini = VFX.PotFourCheeseTortellini,
                VFX.BowlFourCheeseTortellini = VFX.PotForgedFourCheeseTortellini,

                VFX.BowlPepperedPorkTortellini = VFX.SaucepanPepperedPorkTortellini,
                VFX.BowlPepperedPorkTortellini = VFX.CopperSaucepanPepperedPorkTortellini,
                VFX.BowlPepperedPorkTortellini = VFX.PotPepperedPorkTortellini,
                VFX.BowlPepperedPorkTortellini = VFX.PotForgedPepperedPorkTortellini,

                VFX.BowlSpinachRicottaTortellini = VFX.SaucepanSpinachRicottaTortellini,
                VFX.BowlSpinachRicottaTortellini = VFX.CopperSaucepanSpinachRicottaTortellini,
                VFX.BowlSpinachRicottaTortellini = VFX.PotSpinachRicottaTortellini,
                VFX.BowlSpinachRicottaTortellini = VFX.PotForgedSpinachRicottaTortellini,

                VFX.BowlGroundBeefTortellini = VFX.SaucepanGroundBeefTortellini,
                VFX.BowlGroundBeefTortellini = VFX.CopperSaucepanGroundBeefTortellini,
                VFX.BowlGroundBeefTortellini = VFX.PotGroundBeefTortellini,
                VFX.BowlGroundBeefTortellini = VFX.PotForgedGroundBeefTortellini,

                VFX.PMBowlAlfredo = VFX.PMSaucepanAlfredo,
                VFX.PMBowlAlfredo = VFX.PMCopperSaucepanAlfredo,
                VFX.PMBowlCheddarBroccoli = VFX.PMSaucepanCheddarBroccoli,
                VFX.PMBowlCheddarBroccoli = VFX.PMCopperSaucepanCheddarBroccoli,
                VFX.PMBowlCreamyChicken = VFX.PMSaucepanCreamyChicken,
                VFX.PMBowlCreamyChicken = VFX.PMCopperSaucepanCreamyChicken,
                VFX.PMBowlCreamyPesto = VFX.PMSaucepanCreamyPesto,
                VFX.PMBowlCreamyPesto = VFX.PMCopperSaucepanCreamyPesto,
                VFX.PMBowlMacCheese = VFX.PMSaucepanMacCheese,
                VFX.PMBowlMacCheese = VFX.PMCopperSaucepanMacCheese,
                VFX.PMBowlParmesan = VFX.PMSaucepanParmesan,
                VFX.PMBowlParmesan = VFX.PMCopperSaucepanParmesan,

                VFX.RMBowlChicken = VFX.RMSaucepanChicken,
                VFX.RMBowlChicken = VFX.RMCopperSaucepanChicken,
                VFX.RMBowlFried = VFX.RMSaucepanFried,
                VFX.RMBowlFried = VFX.RMCopperSaucepanFried,
                VFX.RMBowlMedley = VFX.RMSaucepanMedley,
                VFX.RMBowlMedley = VFX.RMCopperSaucepanMedley,
                VFX.RMBowlMexican = VFX.RMSaucepanMexican,
                VFX.RMBowlMexican = VFX.RMCopperSaucepanMexican,

                VFX.BowlButterChicken = VFX.PotButterChicken,
                VFX.BowlThaiGreenCurry = VFX.PotThaiGreenCurry,
                VFX.BowlMassamanCurry = VFX.PotMassamanCurry,
                VFX.BowlChanaMasala = VFX.PotChanaMasala,
                VFX.BowlSweetPotatoChickpeaCurry = VFX.PotSweetPotatoChickpeaCurry,
                VFX.BowlTofuCurry = VFX.PotTofuCurry,

                Base.VFXBowlFriedRice = Base.VFXFriedRicePreparation,
                Base.VFXBowlFriedRice = Base.VFXFriedRiceEvolved,

                Base.VFXBowlChili = Base.VFXChiliSaucepanEvolved,
                Base.VFXBowlChili = Base.VFXChiliSaucepanCopperEvolved,
                Base.VFXBowlChili = Base.VFXChiliPotEvolved,
                Base.VFXBowlChili = Base.VFXChiliPotForgedEvolved,

                Base.VFXBowlCurry = Base.VFXCurrySaucepanEvolved,
                Base.VFXBowlCurry = Base.VFXCurrySaucepanCopperEvolved,
                Base.VFXBowlCurry = Base.VFXCurryPotEvolved,
                Base.VFXBowlCurry = Base.VFXCurryPotForgedEvolved,
            }

            itemMapper potType
            {
                Base.Saucepan = VFX.WaterSaucepanBrownRice,
                Base.Saucepan = VFX.WaterSaucepanJasmineRice,
                Base.Saucepan = VFX.WaterSaucepanBasmatiRice,
                Base.Saucepan = VFX.WaterSaucepanArborioRice,
                Base.Saucepan = VFX.WaterSaucepanMacaroni,
                Base.Saucepan = VFX.WaterSaucepanFettuccine,
                Base.Saucepan = VFX.WaterSaucepanPenne,
                Base.Saucepan = VFX.WaterSaucepanGnocchi,

                Base.Saucepan = Base.VFXBrownRiceSaucepanEvolved,
                Base.Saucepan = Base.VFXJasmineRiceSaucepanEvolved,
                Base.Saucepan = Base.VFXBasmatiRiceSaucepanEvolved,
                Base.Saucepan = Base.VFXArborioRiceSaucepanEvolved,
                Base.Saucepan = Base.VFXMacaroniSaucepanEvolved,
                Base.Saucepan = Base.VFXFettuccineSaucepanEvolved,
                Base.Saucepan = Base.VFXPenneSaucepanEvolved,
                Base.Saucepan = Base.VFXGnocchiSaucepanEvolved,

                Base.Saucepan = VFX.SaucepanGroundBeefRavioli,
                Base.Saucepan = VFX.SaucepanSpinachRicottaRavioli,
                Base.Saucepan = VFX.SaucepanThreeCheeseRavioli,
                Base.Saucepan = VFX.SaucepanPumpkinRavioli,
                Base.Saucepan = VFX.SaucepanLobsterRavioli,
                Base.Saucepan = VFX.SaucepanChickenMushroomRavioli,
                Base.Saucepan = VFX.SaucepanFourCheeseTortellini,
                Base.Saucepan = VFX.SaucepanPepperedPorkTortellini,
                Base.Saucepan = VFX.SaucepanSpinachRicottaTortellini,
                Base.Saucepan = VFX.SaucepanGroundBeefTortellini,

                Base.Saucepan = VFX.PMSaucepanCheddarBroccoli,
                Base.Saucepan = VFX.PMSaucepanParmesan,
                Base.Saucepan = VFX.PMSaucepanCreamyChicken,
                Base.Saucepan = VFX.PMSaucepanCreamyPesto,
                Base.Saucepan = VFX.PMSaucepanAlfredo,
                Base.Saucepan = VFX.PMSaucepanMacCheese,
                Base.Saucepan = VFX.RMSaucepanChicken,
                Base.Saucepan = VFX.RMSaucepanMexican,
                Base.Saucepan = VFX.RMSaucepanMedley,
                Base.Saucepan = VFX.RMSaucepanFried,

                Base.Saucepan = Base.VFXChiliSaucepanEvolved,
                Base.Saucepan = Base.VFXCurrySaucepanEvolved,

                Base.SaucepanCopper = VFX.WaterSaucepanCopperBrownRice,
                Base.SaucepanCopper = VFX.WaterSaucepanCopperJasmineRice,
                Base.SaucepanCopper = VFX.WaterSaucepanCopperBasmatiRice,
                Base.SaucepanCopper = VFX.WaterSaucepanCopperArborioRice,
                Base.SaucepanCopper = VFX.WaterSaucepanCopperMacaroni,
                Base.SaucepanCopper = VFX.WaterSaucepanCopperFettuccine,
                Base.SaucepanCopper = VFX.WaterSaucepanCopperPenne,
                Base.SaucepanCopper = VFX.WaterSaucepanCopperGnocchi,

                Base.SaucepanCopper = Base.VFXBrownRiceSaucepanCopperEvolved,
                Base.SaucepanCopper = Base.VFXJasmineRiceSaucepanCopperEvolved,
                Base.SaucepanCopper = Base.VFXBasmatiRiceSaucepanCopperEvolved,
                Base.SaucepanCopper = Base.VFXArborioRiceSaucepanCopperEvolved,
                Base.SaucepanCopper = Base.VFXMacaroniSaucepanCopperEvolved,
                Base.SaucepanCopper = Base.VFXFettuccineSaucepanCopperEvolved,
                Base.SaucepanCopper = Base.VFXPenneSaucepanCopperEvolved,
                Base.SaucepanCopper = Base.VFXGnocchiSaucepanCopperEvolved,

                Base.SaucepanCopper = VFX.CopperSaucepanGroundBeefRavioli,
                Base.SaucepanCopper = VFX.CopperSaucepanSpinachRicottaRavioli,
                Base.SaucepanCopper = VFX.CopperSaucepanThreeCheeseRavioli,
                Base.SaucepanCopper = VFX.CopperSaucepanPumpkinRavioli,
                Base.SaucepanCopper = VFX.CopperSaucepanLobsterRavioli,
                Base.SaucepanCopper = VFX.CopperSaucepanChickenMushroomRavioli,
                Base.SaucepanCopper = VFX.CopperSaucepanFourCheeseTortellini,
                Base.SaucepanCopper = VFX.CopperSaucepanPepperedPorkTortellini,
                Base.SaucepanCopper = VFX.CopperSaucepanSpinachRicottaTortellini,
                Base.SaucepanCopper = VFX.CopperSaucepanGroundBeefTortellini,

                Base.SaucepanCopper = VFX.PMCopperSaucepanCheddarBroccoli,
                Base.SaucepanCopper = VFX.PMCopperSaucepanParmesan,
                Base.SaucepanCopper = VFX.PMCopperSaucepanCreamyChicken,
                Base.SaucepanCopper = VFX.PMCopperSaucepanCreamyPesto,
                Base.SaucepanCopper = VFX.PMCopperSaucepanAlfredo,
                Base.SaucepanCopper = VFX.PMCopperSaucepanMacCheese,
                Base.SaucepanCopper = VFX.RMCopperSaucepanChicken,
                Base.SaucepanCopper = VFX.RMCopperSaucepanMexican,
                Base.SaucepanCopper = VFX.RMCopperSaucepanMedley,
                Base.SaucepanCopper = VFX.RMCopperSaucepanFried,

                Base.SaucepanCopper = Base.VFXChiliSaucepanCopperEvolved,
                Base.SaucepanCopper = Base.VFXCurrySaucepanCopperEvolved,

                Base.Pot = VFX.WaterPotBrownRice,
                Base.Pot = VFX.WaterPotJasmineRice,
                Base.Pot = VFX.WaterPotBasmatiRice,
                Base.Pot = VFX.WaterPotArborioRice,
                Base.Pot = VFX.WaterPotMacaroni,
                Base.Pot = VFX.WaterPotFettuccine,
                Base.Pot = VFX.WaterPotPenne,
                Base.Pot = VFX.WaterPotGnocchi,

                Base.Pot = Base.VFXBrownRicePotEvolved,
                Base.Pot = Base.VFXJasmineRicePotEvolved,
                Base.Pot = Base.VFXBasmatiRicePotEvolved,
                Base.Pot = Base.VFXArborioRicePotEvolved,
                Base.Pot = Base.VFXMacaroniPotEvolved,
                Base.Pot = Base.VFXFettuccinePotEvolved,
                Base.Pot = Base.VFXPennePotEvolved,
                Base.Pot = Base.VFXGnocchiPotEvolved,

                Base.Pot = VFX.PotGroundBeefRavioli,
                Base.Pot = VFX.PotSpinachRicottaRavioli,
                Base.Pot = VFX.PotThreeCheeseRavioli,
                Base.Pot = VFX.PotPumpkinRavioli,
                Base.Pot = VFX.PotLobsterRavioli,
                Base.Pot = VFX.PotChickenMushroomRavioli,
                Base.Pot = VFX.PotFourCheeseTortellini,
                Base.Pot = VFX.PotPepperedPorkTortellini,
                Base.Pot = VFX.PotSpinachRicottaTortellini,
                Base.Pot = VFX.PotGroundBeefTortellini,

                Base.Pot = VFX.PotButterChicken,
                Base.Pot = VFX.PotThaiGreenCurry,
                Base.Pot = VFX.PotMassamanCurry,
                Base.Pot = VFX.PotChanaMasala,
                Base.Pot = VFX.PotSweetPotatoChickpeaCurry,
                Base.Pot = VFX.PotTofuCurry,

                Base.Pot = Base.VFXChiliPotEvolved,
                Base.Pot = Base.VFXCurryPotEvolved,

                Base.PotForged = VFX.WaterPotForgedBrownRice,
                Base.PotForged = VFX.WaterPotForgedJasmineRice,
                Base.PotForged = VFX.WaterPotForgedBasmatiRice,
                Base.PotForged = VFX.WaterPotForgedArborioRice,
                Base.PotForged = VFX.WaterPotForgedMacaroni,
                Base.PotForged = VFX.WaterPotForgedFettuccine,
                Base.PotForged = VFX.WaterPotForgedPenne,
                Base.PotForged = VFX.WaterPotForgedGnocchi,

                Base.PotForged = Base.VFXBrownRicePotForgedEvolved,
                Base.PotForged = Base.VFXJasmineRicePotForgedEvolved,
                Base.PotForged = Base.VFXBasmatiRicePotForgedEvolved,
                Base.PotForged = Base.VFXArborioRicePotForgedEvolved,
                Base.PotForged = Base.VFXMacaroniPotForgedEvolved,
                Base.PotForged = Base.VFXFettuccinePotForgedEvolved,
                Base.PotForged = Base.VFXPennePotForgedEvolved,
                Base.PotForged = Base.VFXGnocchiPotForgedEvolved,

                Base.PotForged = VFX.PotForgedGroundBeefRavioli,
                Base.PotForged = VFX.PotForgedSpinachRicottaRavioli,
                Base.PotForged = VFX.PotForgedThreeCheeseRavioli,
                Base.PotForged = VFX.PotForgedPumpkinRavioli,
                Base.PotForged = VFX.PotForgedLobsterRavioli,
                Base.PotForged = VFX.PotForgedChickenMushroomRavioli,
                Base.PotForged = VFX.PotForgedFourCheeseTortellini,
                Base.PotForged = VFX.PotForgedPepperedPorkTortellini,
                Base.PotForged = VFX.PotForgedSpinachRicottaTortellini,
                Base.PotForged = VFX.PotForgedGroundBeefTortellini,

                Base.PotForged = Base.VFXChiliPotForgedEvolved,
                Base.PotForged = Base.VFXCurryPotForgedEvolved,

                Base.Pan = Base.VFXFriedRicePreparation,
                Base.Pan = VFXFriedRiceEvolved,

                Base.PanForged = VFXFriedRicePreparationForged,
                Base.PanForged = VFXFriedRiceEvolvedForged,
            }
        }

        craftRecipe VFX_Make4Bowls
        {
            timedAction = VFX.BowlMixing,
            Time = 80,
            OnCreate = RecipeCodeOnCreate.inheritFoodNameBowl,
            Tooltip = Tooltip_Recipe_CookedPortion,
            Tags = AnySurfaceCraft;Cooking,
            category = Cooking,

            inputs
            {
                item 4 [Base.Bowl;Base.ClayBowl] mode:destroy flags[ItemCount],
                item 1 [VFX.WaterSaucepanBrownRice;VFX.WaterSaucepanJasmineRice;VFX.WaterSaucepanBasmatiRice;VFX.WaterSaucepanArborioRice;VFX.WaterSaucepanMacaroni;VFX.WaterSaucepanFettuccine;VFX.WaterSaucepanPenne;VFX.WaterSaucepanGnocchi;VFX.WaterSaucepanCopperBrownRice;VFX.WaterSaucepanCopperJasmineRice;VFX.WaterSaucepanCopperBasmatiRice;VFX.WaterSaucepanCopperArborioRice;VFX.WaterSaucepanCopperMacaroni;VFX.WaterSaucepanCopperFettuccine;VFX.WaterSaucepanCopperPenne;VFX.WaterSaucepanCopperGnocchi;VFX.WaterPotBrownRice;VFX.WaterPotJasmineRice;VFX.WaterPotBasmatiRice;VFX.WaterPotArborioRice;VFX.WaterPotMacaroni;VFX.WaterPotFettuccine;VFX.WaterPotPenne;VFX.WaterPotGnocchi;VFX.WaterPotForgedBrownRice;VFX.WaterPotForgedJasmineRice;VFX.WaterPotForgedBasmatiRice;VFX.WaterPotForgedArborioRice;VFX.WaterPotForgedMacaroni;VFX.WaterPotForgedFettuccine;VFX.WaterPotForgedPenne;VFX.WaterPotForgedGnocchi;Base.VFXBrownRiceSaucepanEvolved;Base.VFXJasmineRiceSaucepanEvolved;Base.VFXBasmatiRiceSaucepanEvolved;Base.VFXArborioRiceSaucepanEvolved;Base.VFXMacaroniSaucepanEvolved;Base.VFXFettuccineSaucepanEvolved;Base.VFXPenneSaucepanEvolved;Base.VFXGnocchiSaucepanEvolved;Base.VFXBrownRiceSaucepanCopperEvolved;Base.VFXJasmineRiceSaucepanCopperEvolved;Base.VFXBasmatiRiceSaucepanCopperEvolved;Base.VFXArborioRiceSaucepanCopperEvolved;Base.VFXMacaroniSaucepanCopperEvolved;Base.VFXFettuccineSaucepanCopperEvolved;Base.VFXPenneSaucepanCopperEvolved;Base.VFXGnocchiSaucepanCopperEvolved;Base.VFXBrownRicePotEvolved;Base.VFXJasmineRicePotEvolved;Base.VFXBasmatiRicePotEvolved;Base.VFXArborioRicePotEvolved;Base.VFXMacaroniPotEvolved;Base.VFXFettuccinePotEvolved;Base.VFXPennePotEvolved;Base.VFXGnocchiPotEvolved;Base.VFXBrownRicePotForgedEvolved;Base.VFXJasmineRicePotForgedEvolved;Base.VFXBasmatiRicePotForgedEvolved;Base.VFXArborioRicePotForgedEvolved;Base.VFXMacaroniPotForgedEvolved;Base.VFXFettuccinePotForgedEvolved;Base.VFXPennePotForgedEvolved;Base.VFXGnocchiPotForgedEvolved;VFX.SaucepanGroundBeefRavioli;VFX.CopperSaucepanGroundBeefRavioli;VFX.PotGroundBeefRavioli;VFX.PotForgedGroundBeefRavioli;VFX.SaucepanSpinachRicottaRavioli;VFX.CopperSaucepanSpinachRicottaRavioli;VFX.PotSpinachRicottaRavioli;VFX.PotForgedSpinachRicottaRavioli;VFX.SaucepanThreeCheeseRavioli;VFX.CopperSaucepanThreeCheeseRavioli;VFX.PotThreeCheeseRavioli;VFX.PotForgedThreeCheeseRavioli;VFX.SaucepanPumpkinRavioli;VFX.CopperSaucepanPumpkinRavioli;VFX.PotPumpkinRavioli;VFX.PotForgedPumpkinRavioli;VFX.SaucepanLobsterRavioli;VFX.CopperSaucepanLobsterRavioli;VFX.PotLobsterRavioli;VFX.PotForgedLobsterRavioli;VFX.SaucepanChickenMushroomRavioli;VFX.CopperSaucepanChickenMushroomRavioli;VFX.PotChickenMushroomRavioli;VFX.PotForgedChickenMushroomRavioli;VFX.SaucepanFourCheeseTortellini;VFX.CopperSaucepanFourCheeseTortellini;VFX.PotFourCheeseTortellini;VFX.PotForgedFourCheeseTortellini;VFX.SaucepanPepperedPorkTortellini;VFX.CopperSaucepanPepperedPorkTortellini;VFX.PotPepperedPorkTortellini;VFX.PotForgedPepperedPorkTortellini;VFX.SaucepanSpinachRicottaTortellini;VFX.CopperSaucepanSpinachRicottaTortellini;VFX.PotSpinachRicottaTortellini;VFX.PotForgedSpinachRicottaTortellini;VFX.SaucepanGroundBeefTortellini;VFX.CopperSaucepanGroundBeefTortellini;VFX.PotGroundBeefTortellini;VFX.PotForgedGroundBeefTortellini;VFX.PMSaucepanCheddarBroccoli;VFX.PMSaucepanParmesan;VFX.PMSaucepanCreamyChicken;VFX.PMSaucepanCreamyPesto;VFX.PMSaucepanAlfredo;VFX.PMSaucepanMacCheese;VFX.PMCopperSaucepanCheddarBroccoli;VFX.PMCopperSaucepanParmesan;VFX.PMCopperSaucepanCreamyChicken;VFX.PMCopperSaucepanCreamyPesto;VFX.PMCopperSaucepanAlfredo;VFX.PMCopperSaucepanMacCheese;VFX.RMSaucepanChicken;VFX.RMSaucepanMexican;VFX.RMSaucepanMedley;VFX.RMSaucepanFried;VFX.RMCopperSaucepanChicken;VFX.RMCopperSaucepanMexican;VFX.RMCopperSaucepanMedley;VFX.RMCopperSaucepanFried;VFX.PotButterChicken;VFX.PotThaiGreenCurry;VFX.PotMassamanCurry;VFX.PotChanaMasala;VFX.PotSweetPotatoChickpeaCurry;VFX.PotTofuCurry;Base.VFXFriedRicePreparation;Base.VFXFriedRiceEvolved;Base.VFXChiliSaucepanEvolved;Base.VFXChiliSaucepanCopperEvolved;Base.VFXChiliPotEvolved;Base.VFXChiliPotForgedEvolved;Base.VFXCurrySaucepanEvolved;Base.VFXCurrySaucepanCopperEvolved;Base.VFXCurryPotEvolved;Base.VFXCurryPotForgedEvolved] mappers[bowlType;potType] flags[InheritCondition;InheritCooked;InheritFood;IsCookedFoodItem;ItemCount],
            }

            outputs
            {
                item 4 mapper:bowlType,
                item 1 mapper:potType,
            }

            itemMapper bowlType
            {
                VFX.ArborioRiceBowl = VFX.WaterSaucepanArborioRice,
                VFX.ArborioRiceBowl = VFX.WaterSaucepanCopperArborioRice,
                VFX.ArborioRiceBowl = VFX.WaterPotArborioRice,
                VFX.ArborioRiceBowl = VFX.WaterPotForgedArborioRice,
                VFX.ArborioRiceBowl = Base.VFXArborioRiceSaucepanEvolved,
                VFX.ArborioRiceBowl = Base.VFXArborioRiceSaucepanCopperEvolved,
                VFX.ArborioRiceBowl = Base.VFXArborioRicePotEvolved,
                VFX.ArborioRiceBowl = Base.VFXArborioRicePotForgedEvolved,

                VFX.BasmatiRiceBowl = VFX.WaterSaucepanBasmatiRice,
                VFX.BasmatiRiceBowl = VFX.WaterSaucepanCopperBasmatiRice,
                VFX.BasmatiRiceBowl = VFX.WaterPotBasmatiRice,
                VFX.BasmatiRiceBowl = VFX.WaterPotForgedBasmatiRice,
                VFX.BasmatiRiceBowl = Base.VFXBasmatiRiceSaucepanEvolved,
                VFX.BasmatiRiceBowl = Base.VFXBasmatiRiceSaucepanCopperEvolved,
                VFX.BasmatiRiceBowl = Base.VFXBasmatiRicePotEvolved,
                VFX.BasmatiRiceBowl = Base.VFXBasmatiRicePotForgedEvolved,

                VFX.BrownRiceBowl = VFX.WaterSaucepanBrownRice,
                VFX.BrownRiceBowl = VFX.WaterSaucepanCopperBrownRice,
                VFX.BrownRiceBowl = VFX.WaterPotBrownRice,
                VFX.BrownRiceBowl = VFX.WaterPotForgedBrownRice,
                VFX.BrownRiceBowl = Base.VFXBrownRiceSaucepanEvolved,
                VFX.BrownRiceBowl = Base.VFXBrownRiceSaucepanCopperEvolved,
                VFX.BrownRiceBowl = Base.VFXBrownRicePotEvolved,
                VFX.BrownRiceBowl = Base.VFXBrownRicePotForgedEvolved,

                VFX.FettuccineBowl = VFX.WaterSaucepanFettuccine,
                VFX.FettuccineBowl = VFX.WaterSaucepanCopperFettuccine,
                VFX.FettuccineBowl = VFX.WaterPotFettuccine,
                VFX.FettuccineBowl = VFX.WaterPotForgedFettuccine,
                VFX.FettuccineBowl = Base.VFXFettuccineSaucepanEvolved,
                VFX.FettuccineBowl = Base.VFXFettuccineSaucepanCopperEvolved,
                VFX.FettuccineBowl = Base.VFXFettuccinePotEvolved,
                VFX.FettuccineBowl = Base.VFXFettuccinePotForgedEvolved,

                VFX.GnocchiBowl = VFX.WaterSaucepanGnocchi,
                VFX.GnocchiBowl = VFX.WaterSaucepanCopperGnocchi,
                VFX.GnocchiBowl = VFX.WaterPotGnocchi,
                VFX.GnocchiBowl = VFX.WaterPotForgedGnocchi,
                VFX.GnocchiBowl = Base.VFXGnocchiSaucepanEvolved,
                VFX.GnocchiBowl = Base.VFXGnocchiSaucepanCopperEvolved,
                VFX.GnocchiBowl = Base.VFXGnocchiPotEvolved,
                VFX.GnocchiBowl = Base.VFXGnocchiPotForgedEvolved,

                VFX.JasmineRiceBowl = VFX.WaterSaucepanJasmineRice,
                VFX.JasmineRiceBowl = VFX.WaterSaucepanCopperJasmineRice,
                VFX.JasmineRiceBowl = VFX.WaterPotJasmineRice,
                VFX.JasmineRiceBowl = VFX.WaterPotForgedJasmineRice,
                VFX.JasmineRiceBowl = Base.VFXJasmineRiceSaucepanEvolved,
                VFX.JasmineRiceBowl = Base.VFXJasmineRiceSaucepanCopperEvolved,
                VFX.JasmineRiceBowl = Base.VFXJasmineRicePotEvolved,
                VFX.JasmineRiceBowl = Base.VFXJasmineRicePotForgedEvolved,

                VFX.MacaroniBowl = VFX.WaterSaucepanMacaroni,
                VFX.MacaroniBowl = VFX.WaterSaucepanCopperMacaroni,
                VFX.MacaroniBowl = VFX.WaterPotMacaroni,
                VFX.MacaroniBowl = VFX.WaterPotForgedMacaroni,
                VFX.MacaroniBowl = Base.VFXMacaroniSaucepanEvolved,
                VFX.MacaroniBowl = Base.VFXMacaroniSaucepanCopperEvolved,
                VFX.MacaroniBowl = Base.VFXMacaroniPotEvolved,
                VFX.MacaroniBowl = Base.VFXMacaroniPotForgedEvolved,

                VFX.PenneBowl = VFX.WaterSaucepanPenne,
                VFX.PenneBowl = VFX.WaterSaucepanCopperPenne,
                VFX.PenneBowl = VFX.WaterPotPenne,
                VFX.PenneBowl = VFX.WaterPotForgedPenne,
                VFX.PenneBowl = Base.VFXPenneSaucepanEvolved,
                VFX.PenneBowl = Base.VFXPenneSaucepanCopperEvolved,
                VFX.PenneBowl = Base.VFXPennePotEvolved,
                VFX.PenneBowl = Base.VFXPennePotForgedEvolved,

                VFX.BowlGroundBeefRavioli = VFX.SaucepanGroundBeefRavioli,
                VFX.BowlGroundBeefRavioli = VFX.CopperSaucepanGroundBeefRavioli,
                VFX.BowlGroundBeefRavioli = VFX.PotGroundBeefRavioli,
                VFX.BowlGroundBeefRavioli = VFX.PotForgedGroundBeefRavioli,

                VFX.BowlSpinachRicottaRavioli = VFX.SaucepanSpinachRicottaRavioli,
                VFX.BowlSpinachRicottaRavioli = VFX.CopperSaucepanSpinachRicottaRavioli,
                VFX.BowlSpinachRicottaRavioli = VFX.PotSpinachRicottaRavioli,
                VFX.BowlSpinachRicottaRavioli = VFX.PotForgedSpinachRicottaRavioli,

                VFX.BowlThreeCheeseRavioli = VFX.SaucepanThreeCheeseRavioli,
                VFX.BowlThreeCheeseRavioli = VFX.CopperSaucepanThreeCheeseRavioli,
                VFX.BowlThreeCheeseRavioli = VFX.PotThreeCheeseRavioli,
                VFX.BowlThreeCheeseRavioli = VFX.PotForgedThreeCheeseRavioli,

                VFX.BowlPumpkinRavioli = VFX.SaucepanPumpkinRavioli,
                VFX.BowlPumpkinRavioli = VFX.CopperSaucepanPumpkinRavioli,
                VFX.BowlPumpkinRavioli = VFX.PotPumpkinRavioli,
                VFX.BowlPumpkinRavioli = VFX.PotForgedPumpkinRavioli,

                VFX.BowlLobsterRavioli = VFX.SaucepanLobsterRavioli,
                VFX.BowlLobsterRavioli = VFX.CopperSaucepanLobsterRavioli,
                VFX.BowlLobsterRavioli = VFX.PotLobsterRavioli,
                VFX.BowlLobsterRavioli = VFX.PotForgedLobsterRavioli,

                VFX.BowlChickenMushroomRavioli = VFX.SaucepanChickenMushroomRavioli,
                VFX.BowlChickenMushroomRavioli = VFX.CopperSaucepanChickenMushroomRavioli,
                VFX.BowlChickenMushroomRavioli = VFX.PotChickenMushroomRavioli,
                VFX.BowlChickenMushroomRavioli = VFX.PotForgedChickenMushroomRavioli,

                VFX.BowlFourCheeseTortellini = VFX.SaucepanFourCheeseTortellini,
                VFX.BowlFourCheeseTortellini = VFX.CopperSaucepanFourCheeseTortellini,
                VFX.BowlFourCheeseTortellini = VFX.PotFourCheeseTortellini,
                VFX.BowlFourCheeseTortellini = VFX.PotForgedFourCheeseTortellini,

                VFX.BowlPepperedPorkTortellini = VFX.SaucepanPepperedPorkTortellini,
                VFX.BowlPepperedPorkTortellini = VFX.CopperSaucepanPepperedPorkTortellini,
                VFX.BowlPepperedPorkTortellini = VFX.PotPepperedPorkTortellini,
                VFX.BowlPepperedPorkTortellini = VFX.PotForgedPepperedPorkTortellini,

                VFX.BowlSpinachRicottaTortellini = VFX.SaucepanSpinachRicottaTortellini,
                VFX.BowlSpinachRicottaTortellini = VFX.CopperSaucepanSpinachRicottaTortellini,
                VFX.BowlSpinachRicottaTortellini = VFX.PotSpinachRicottaTortellini,
                VFX.BowlSpinachRicottaTortellini = VFX.PotForgedSpinachRicottaTortellini,

                VFX.BowlGroundBeefTortellini = VFX.SaucepanGroundBeefTortellini,
                VFX.BowlGroundBeefTortellini = VFX.CopperSaucepanGroundBeefTortellini,
                VFX.BowlGroundBeefTortellini = VFX.PotGroundBeefTortellini,
                VFX.BowlGroundBeefTortellini = VFX.PotForgedGroundBeefTortellini,

                VFX.BowlButterChicken = VFX.PotButterChicken,
                VFX.BowlThaiGreenCurry = VFX.PotThaiGreenCurry,
                VFX.BowlMassamanCurry = VFX.PotMassamanCurry,
                VFX.BowlChanaMasala = VFX.PotChanaMasala,
                VFX.BowlSweetPotatoChickpeaCurry = VFX.PotSweetPotatoChickpeaCurry,
                VFX.BowlTofuCurry = VFX.PotTofuCurry,

                Base.VFXBowlFriedRice = Base.VFXFriedRicePreparation,
                Base.VFXBowlFriedRice = Base.VFXFriedRiceEvolved,

                Base.VFXBowlChili = Base.VFXChiliSaucepanEvolved,
                Base.VFXBowlChili = Base.VFXChiliSaucepanCopperEvolved,
                Base.VFXBowlChili = Base.VFXChiliPotEvolved,
                Base.VFXBowlChili = Base.VFXChiliPotForgedEvolved,

                Base.VFXBowlCurry = Base.VFXCurrySaucepanEvolved,
                Base.VFXBowlCurry = Base.VFXCurrySaucepanCopperEvolved,
                Base.VFXBowlCurry = Base.VFXCurryPotEvolved,
                Base.VFXBowlCurry = Base.VFXCurryPotForgedEvolved,
            }

            itemMapper potType
            {
                Base.Saucepan = VFX.WaterSaucepanBrownRice,
                Base.Saucepan = VFX.WaterSaucepanJasmineRice,
                Base.Saucepan = VFX.WaterSaucepanBasmatiRice,
                Base.Saucepan = VFX.WaterSaucepanArborioRice,
                Base.Saucepan = VFX.WaterSaucepanMacaroni,
                Base.Saucepan = VFX.WaterSaucepanFettuccine,
                Base.Saucepan = VFX.WaterSaucepanPenne,
                Base.Saucepan = VFX.WaterSaucepanGnocchi,

                Base.Saucepan = Base.VFXBrownRiceSaucepanEvolved,
                Base.Saucepan = Base.VFXJasmineRiceSaucepanEvolved,
                Base.Saucepan = Base.VFXBasmatiRiceSaucepanEvolved,
                Base.Saucepan = Base.VFXArborioRiceSaucepanEvolved,
                Base.Saucepan = Base.VFXMacaroniSaucepanEvolved,
                Base.Saucepan = Base.VFXFettuccineSaucepanEvolved,
                Base.Saucepan = Base.VFXPenneSaucepanEvolved,
                Base.Saucepan = Base.VFXGnocchiSaucepanEvolved,

                Base.Saucepan = VFX.SaucepanGroundBeefRavioli,
                Base.Saucepan = VFX.SaucepanSpinachRicottaRavioli,
                Base.Saucepan = VFX.SaucepanThreeCheeseRavioli,
                Base.Saucepan = VFX.SaucepanPumpkinRavioli,
                Base.Saucepan = VFX.SaucepanLobsterRavioli,
                Base.Saucepan = VFX.SaucepanChickenMushroomRavioli,
                Base.Saucepan = VFX.SaucepanFourCheeseTortellini,
                Base.Saucepan = VFX.SaucepanPepperedPorkTortellini,
                Base.Saucepan = VFX.SaucepanSpinachRicottaTortellini,
                Base.Saucepan = VFX.SaucepanGroundBeefTortellini,

                Base.Saucepan = VFX.PMSaucepanCheddarBroccoli,
                Base.Saucepan = VFX.PMSaucepanParmesan,
                Base.Saucepan = VFX.PMSaucepanCreamyChicken,
                Base.Saucepan = VFX.PMSaucepanCreamyPesto,
                Base.Saucepan = VFX.PMSaucepanAlfredo,
                Base.Saucepan = VFX.PMSaucepanMacCheese,
                Base.Saucepan = VFX.RMSaucepanChicken,
                Base.Saucepan = VFX.RMSaucepanMexican,
                Base.Saucepan = VFX.RMSaucepanMedley,
                Base.Saucepan = VFX.RMSaucepanFried,

                Base.Saucepan = Base.VFXChiliSaucepanEvolved,
                Base.Saucepan = Base.VFXCurrySaucepanEvolved,

                Base.SaucepanCopper = VFX.WaterSaucepanCopperBrownRice,
                Base.SaucepanCopper = VFX.WaterSaucepanCopperJasmineRice,
                Base.SaucepanCopper = VFX.WaterSaucepanCopperBasmatiRice,
                Base.SaucepanCopper = VFX.WaterSaucepanCopperArborioRice,
                Base.SaucepanCopper = VFX.WaterSaucepanCopperMacaroni,
                Base.SaucepanCopper = VFX.WaterSaucepanCopperFettuccine,
                Base.SaucepanCopper = VFX.WaterSaucepanCopperPenne,
                Base.SaucepanCopper = VFX.WaterSaucepanCopperGnocchi,

                Base.SaucepanCopper = Base.VFXBrownRiceSaucepanCopperEvolved,
                Base.SaucepanCopper = Base.VFXJasmineRiceSaucepanCopperEvolved,
                Base.SaucepanCopper = Base.VFXBasmatiRiceSaucepanCopperEvolved,
                Base.SaucepanCopper = Base.VFXArborioRiceSaucepanCopperEvolved,
                Base.SaucepanCopper = Base.VFXMacaroniSaucepanCopperEvolved,
                Base.SaucepanCopper = Base.VFXFettuccineSaucepanCopperEvolved,
                Base.SaucepanCopper = Base.VFXPenneSaucepanCopperEvolved,
                Base.SaucepanCopper = Base.VFXGnocchiSaucepanCopperEvolved,

                Base.SaucepanCopper = VFX.CopperSaucepanGroundBeefRavioli,
                Base.SaucepanCopper = VFX.CopperSaucepanSpinachRicottaRavioli,
                Base.SaucepanCopper = VFX.CopperSaucepanThreeCheeseRavioli,
                Base.SaucepanCopper = VFX.CopperSaucepanPumpkinRavioli,
                Base.SaucepanCopper = VFX.CopperSaucepanLobsterRavioli,
                Base.SaucepanCopper = VFX.CopperSaucepanChickenMushroomRavioli,
                Base.SaucepanCopper = VFX.CopperSaucepanFourCheeseTortellini,
                Base.SaucepanCopper = VFX.CopperSaucepanPepperedPorkTortellini,
                Base.SaucepanCopper = VFX.CopperSaucepanSpinachRicottaTortellini,
                Base.SaucepanCopper = VFX.CopperSaucepanGroundBeefTortellini,

                Base.SaucepanCopper = VFX.PMCopperSaucepanCheddarBroccoli,
                Base.SaucepanCopper = VFX.PMCopperSaucepanParmesan,
                Base.SaucepanCopper = VFX.PMCopperSaucepanCreamyChicken,
                Base.SaucepanCopper = VFX.PMCopperSaucepanCreamyPesto,
                Base.SaucepanCopper = VFX.PMCopperSaucepanAlfredo,
                Base.SaucepanCopper = VFX.PMCopperSaucepanMacCheese,
                Base.SaucepanCopper = VFX.RMCopperSaucepanChicken,
                Base.SaucepanCopper = VFX.RMCopperSaucepanMexican,
                Base.SaucepanCopper = VFX.RMCopperSaucepanMedley,
                Base.SaucepanCopper = VFX.RMCopperSaucepanFried,

                Base.SaucepanCopper = Base.VFXChiliSaucepanCopperEvolved,
                Base.SaucepanCopper = Base.VFXCurrySaucepanCopperEvolved,

                Base.Pot = VFX.WaterPotBrownRice,
                Base.Pot = VFX.WaterPotJasmineRice,
                Base.Pot = VFX.WaterPotBasmatiRice,
                Base.Pot = VFX.WaterPotArborioRice,
                Base.Pot = VFX.WaterPotMacaroni,
                Base.Pot = VFX.WaterPotFettuccine,
                Base.Pot = VFX.WaterPotPenne,
                Base.Pot = VFX.WaterPotGnocchi,

                Base.Pot = Base.VFXBrownRicePotEvolved,
                Base.Pot = Base.VFXJasmineRicePotEvolved,
                Base.Pot = Base.VFXBasmatiRicePotEvolved,
                Base.Pot = Base.VFXArborioRicePotEvolved,
                Base.Pot = Base.VFXMacaroniPotEvolved,
                Base.Pot = Base.VFXFettuccinePotEvolved,
                Base.Pot = Base.VFXPennePotEvolved,
                Base.Pot = Base.VFXGnocchiPotEvolved,

                Base.Pot = VFX.PotGroundBeefRavioli,
                Base.Pot = VFX.PotSpinachRicottaRavioli,
                Base.Pot = VFX.PotThreeCheeseRavioli,
                Base.Pot = VFX.PotPumpkinRavioli,
                Base.Pot = VFX.PotLobsterRavioli,
                Base.Pot = VFX.PotChickenMushroomRavioli,
                Base.Pot = VFX.PotFourCheeseTortellini,
                Base.Pot = VFX.PotPepperedPorkTortellini,
                Base.Pot = VFX.PotSpinachRicottaTortellini,
                Base.Pot = VFX.PotGroundBeefTortellini,

                Base.Pot = VFX.PotButterChicken,
                Base.Pot = VFX.PotThaiGreenCurry,
                Base.Pot = VFX.PotMassamanCurry,
                Base.Pot = VFX.PotChanaMasala,
                Base.Pot = VFX.PotSweetPotatoChickpeaCurry,
                Base.Pot = VFX.PotTofuCurry,

                Base.Pot = Base.VFXChiliPotEvolved,
                Base.Pot = Base.VFXCurryPotEvolved,

                Base.PotForged = VFX.WaterPotForgedBrownRice,
                Base.PotForged = VFX.WaterPotForgedJasmineRice,
                Base.PotForged = VFX.WaterPotForgedBasmatiRice,
                Base.PotForged = VFX.WaterPotForgedArborioRice,
                Base.PotForged = VFX.WaterPotForgedMacaroni,
                Base.PotForged = VFX.WaterPotForgedFettuccine,
                Base.PotForged = VFX.WaterPotForgedPenne,
                Base.PotForged = VFX.WaterPotForgedGnocchi,

                Base.PotForged = Base.VFXBrownRicePotForgedEvolved,
                Base.PotForged = Base.VFXJasmineRicePotForgedEvolved,
                Base.PotForged = Base.VFXBasmatiRicePotForgedEvolved,
                Base.PotForged = Base.VFXArborioRicePotForgedEvolved,
                Base.PotForged = Base.VFXMacaroniPotForgedEvolved,
                Base.PotForged = Base.VFXFettuccinePotForgedEvolved,
                Base.PotForged = Base.VFXPennePotForgedEvolved,
                Base.PotForged = Base.VFXGnocchiPotForgedEvolved,

                Base.PotForged = VFX.PotForgedGroundBeefRavioli,
                Base.PotForged = VFX.PotForgedSpinachRicottaRavioli,
                Base.PotForged = VFX.PotForgedThreeCheeseRavioli,
                Base.PotForged = VFX.PotForgedPumpkinRavioli,
                Base.PotForged = VFX.PotForgedLobsterRavioli,
                Base.PotForged = VFX.PotForgedChickenMushroomRavioli,
                Base.PotForged = VFX.PotForgedFourCheeseTortellini,
                Base.PotForged = VFX.PotForgedPepperedPorkTortellini,
                Base.PotForged = VFX.PotForgedSpinachRicottaTortellini,
                Base.PotForged = VFX.PotForgedGroundBeefTortellini,

                Base.PotForged = Base.VFXChiliPotForgedEvolved,
                Base.PotForged = Base.VFXCurryPotForgedEvolved,

                Base.Pan = Base.VFXFriedRicePreparation,
                Base.Pan = VFXFriedRiceEvolved,

                Base.PanForged = VFXFriedRicePreparationForged,
                Base.PanForged = VFXFriedRiceEvolvedForged,
            }
        }

        craftRecipe VFX_Make2Plates
        {
            timedAction = VFX.BowlMixing,
            Time = 80,
            Tooltip = Tooltip_Recipe_CookedPortion,
            Tags = AnySurfaceCraft;Cooking,
            category = Cooking,

            inputs
            {
                item 2 [Base.Plate] mode:destroy flags[ItemCount],
                item 1 [VFX.TrayShepherdsPie;VFX.TrayTunaCasserole;VFX.TrayBakedZiti;VFX.TrayStuffedBellPepper;VFX.PanChickenPotPie;VFX.TrayMoussaka;VFX.TrayChickenDivan;VFX.TraySalisburySteak;VFX.TraySausageAppleFry;Base.VFXLasagnaEvolved;Base.VFXCasseroleEvolved;Base.VFXMeatloafPreparation;Base.VFXMeatloafEvolved;Base.VFXScallopedPotatoBakePreparation;Base.VFXScallopedPotatoBakeEvolved;Base.VFXQuichePreparation;Base.VFXQuicheEvolved;Base.VFXNachosPreparation;Base.VFXNachosEvolved;Base.VFXEnchiladaPreparation;Base.VFXEnchiladaEvolved] mappers[plateType;potType] flags[InheritCondition;InheritCooked;InheritFood;IsCookedFoodItem;ItemCount],
            }

            outputs
            {
                item 2 mapper:plateType,
                item 1 mapper:potType,
            }

            itemMapper plateType
            {
                VFX.PlateShepherdsPie = VFX.TrayShepherdsPie,
                VFX.PlateTunaCasserole = VFX.TrayTunaCasserole,
                VFX.PlateBakedZiti = VFX.TrayBakedZiti,
                VFX.PlateStuffedBellPepper = VFX.TrayStuffedBellPepper,
                VFX.PlateChickenPotPie = VFX.PanChickenPotPie,
                VFX.PlateMoussaka = VFX.TrayMoussaka,
                VFX.PlateChickenDivan = VFX.TrayChickenDivan,
                VFX.PlateSalisburySteak = VFX.TraySalisburySteak,
                VFX.PlateSausageAppleFry = VFX.TraySausageAppleFry,

                Base.VFXPlateLasagna = Base.VFXLasagnaEvolved,
                Base.VFXPlateCasserole = Base.VFXCasseroleEvolved,
                Base.VFXPlateMeatloaf = Base.VFXMeatloafPreparation,
                Base.VFXPlateMeatloaf = Base.VFXMeatloafEvolved,
                Base.VFXPlateScallopedPotatoBake = Base.VFXScallopedPotatoBakePreparation,
                Base.VFXPlateScallopedPotatoBake = Base.VFXScallopedPotatoBakeEvolved,
                Base.VFXPlateQuiche = Base.VFXQuichePreparation,
                Base.VFXPlateQuiche = Base.VFXQuicheEvolved,
                Base.VFXPlateNachos = Base.VFXNachosPreparation,
                Base.VFXPlateNachos = Base.VFXNachosEvolved,
                Base.VFXPlateEnchilada = Base.VFXEnchiladaPreparation,
                Base.VFXPlateEnchilada = Base.VFXEnchiladaEvolved,
            }

            itemMapper potType
            {
                Base.RoastingPan = VFX.TrayShepherdsPie,
                Base.RoastingPan = VFX.TrayTunaCasserole,
                Base.RoastingPan = VFX.TrayBakedZiti,
                Base.RoastingPan = VFX.TrayStuffedBellPepper,
                Base.RoastingPan = VFX.TrayMoussaka,
                Base.RoastingPan = VFX.TrayChickenDivan,
                Base.RoastingPan = VFX.TraySalisburySteak,
                Base.RoastingPan = VFX.TraySausageAppleFry,

                Base.RoastingPan = Base.VFXLasagnaEvolved,
                Base.RoastingPan = Base.VFXCasseroleEvolved,
                Base.RoastingPan = Base.VFXMeatloafPreparation,
                Base.RoastingPan = Base.VFXMeatloafEvolved,
                Base.RoastingPan = Base.VFXScallopedPotatoBakePreparation,
                Base.RoastingPan = Base.VFXScallopedPotatoBakeEvolved,
                Base.RoastingPan = Base.VFXNachosPreparation,
                Base.RoastingPan = Base.VFXNachosEvolved,
                Base.RoastingPan = Base.VFXEnchiladaPreparation,
                Base.RoastingPan = Base.VFXEnchiladaEvolved,

                Base.BakingPan = VFX.PanChickenPotPie,
                Base.BakingPan = Base.VFXQuichePreparation,
                Base.BakingPan = Base.VFXQuicheEvolved,
            }
        }

        craftRecipe VFX_Make4Plates
        {
            timedAction = VFX.BowlMixing,
            Time = 80,
            Tooltip = Tooltip_Recipe_CookedPortion,
            Tags = AnySurfaceCraft;Cooking,
            category = Cooking,

            inputs
            {
                item 4 [Base.Plate] mode:destroy flags[ItemCount],
                item 1 [VFX.TrayShepherdsPie;VFX.TrayTunaCasserole;VFX.TrayBakedZiti;VFX.TrayStuffedBellPepper;VFX.PanChickenPotPie;VFX.TrayMoussaka;VFX.TrayChickenDivan;VFX.TraySalisburySteak;VFX.TraySausageAppleFry;Base.VFXLasagnaEvolved;Base.VFXCasseroleEvolved;Base.VFXMeatloafPreparation;Base.VFXMeatloafEvolved;Base.VFXScallopedPotatoBakePreparation;Base.VFXScallopedPotatoBakeEvolved;Base.VFXQuichePreparation;Base.VFXQuicheEvolved;Base.VFXNachosPreparation;Base.VFXNachosEvolved;Base.VFXEnchiladaPreparation;Base.VFXEnchiladaEvolved] mappers[plateType;potType] flags[InheritCondition;InheritCooked;InheritFood;IsCookedFoodItem;ItemCount],
            }

            outputs
            {
                item 4 mapper:plateType,
                item 1 mapper:potType,
            }

            itemMapper plateType
            {
                VFX.PlateShepherdsPie = VFX.TrayShepherdsPie,
                VFX.PlateTunaCasserole = VFX.TrayTunaCasserole,
                VFX.PlateBakedZiti = VFX.TrayBakedZiti,
                VFX.PlateStuffedBellPepper = VFX.TrayStuffedBellPepper,
                VFX.PlateChickenPotPie = VFX.PanChickenPotPie,
                VFX.PlateMoussaka = VFX.TrayMoussaka,
                VFX.PlateChickenDivan = VFX.TrayChickenDivan,
                VFX.PlateSalisburySteak = VFX.TraySalisburySteak,
                VFX.PlateSausageAppleFry = VFX.TraySausageAppleFry,

                Base.VFXPlateLasagna = Base.VFXLasagnaEvolved,
                Base.VFXPlateCasserole = Base.VFXCasseroleEvolved,
                Base.VFXPlateMeatloaf = Base.VFXMeatloafPreparation,
                Base.VFXPlateMeatloaf = Base.VFXMeatloafEvolved,
                Base.VFXPlateScallopedPotatoBake = Base.VFXScallopedPotatoBakePreparation,
                Base.VFXPlateScallopedPotatoBake = Base.VFXScallopedPotatoBakeEvolved,
                Base.VFXPlateQuiche = Base.VFXQuichePreparation,
                Base.VFXPlateQuiche = Base.VFXQuicheEvolved,
                Base.VFXPlateNachos = Base.VFXNachosPreparation,
                Base.VFXPlateNachos = Base.VFXNachosEvolved,
                Base.VFXPlateEnchilada = Base.VFXEnchiladaPreparation,
                Base.VFXPlateEnchilada = Base.VFXEnchiladaEvolved,
            }

            itemMapper potType
            {
                Base.RoastingPan = VFX.TrayShepherdsPie,
                Base.RoastingPan = VFX.TrayTunaCasserole,
                Base.RoastingPan = VFX.TrayBakedZiti,
                Base.RoastingPan = VFX.TrayStuffedBellPepper,
                Base.RoastingPan = VFX.TrayMoussaka,
                Base.RoastingPan = VFX.TrayChickenDivan,
                Base.RoastingPan = VFX.TraySalisburySteak,
                Base.RoastingPan = VFX.TraySausageAppleFry,

                Base.RoastingPan = Base.VFXLasagnaEvolved,
                Base.RoastingPan = Base.VFXCasseroleEvolved,
                Base.RoastingPan = Base.VFXMeatloafPreparation,
                Base.RoastingPan = Base.VFXMeatloafEvolved,
                Base.RoastingPan = Base.VFXScallopedPotatoBakePreparation,
                Base.RoastingPan = Base.VFXScallopedPotatoBakeEvolved,
                Base.RoastingPan = Base.VFXNachosPreparation,
                Base.RoastingPan = Base.VFXNachosEvolved,
                Base.RoastingPan = Base.VFXEnchiladaPreparation,
                Base.RoastingPan = Base.VFXEnchiladaEvolved,

                Base.BakingPan = VFX.PanChickenPotPie,
                Base.BakingPan = Base.VFXQuichePreparation,
                Base.BakingPan = Base.VFXQuicheEvolved,
            }
        }

}